home *** CD-ROM | disk | FTP | other *** search
/ NeXT Education Software Sampler 1992 Fall / NeXT Education Software Sampler 1992 Fall.iso / Programming / Source / winterp-1.13 / src-server / w_funtab.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-10-04  |  63.1 KB  |  1,462 lines

  1. /* -*-C-*-
  2. ********************************************************************************
  3. *
  4. * File:         w_funtab.c
  5. * RCS:          $Header: w_funtab.c,v 1.12 91/03/25 04:20:31 mayer Exp $
  6. * Description:  Function table for winterp (replaces xlisp/xlftab.c)
  7. * Author:       Niels Mayer, HPLabs
  8. * Created:      Tue Jul 18 00:12:30 1989
  9. * Modified:     Thu Oct  3 20:46:02 1991 (Niels Mayer) mayer@hplnpm
  10. * Language:     C
  11. * Package:      N/A
  12. * Status:       X11r5 contrib tape release
  13. *
  14. * WINTERP Copyright 1989, 1990, 1991 Hewlett-Packard Company (by Niels Mayer).
  15. * XLISP version 2.1, Copyright (c) 1989, by David Betz.
  16. *
  17. * Permission to use, copy, modify, distribute, and sell this software and its
  18. * documentation for any purpose is hereby granted without fee, provided that
  19. * the above copyright notice appear in all copies and that both that
  20. * copyright notice and this permission notice appear in supporting
  21. * documentation, and that the name of Hewlett-Packard and David Betz not be
  22. * used in advertising or publicity pertaining to distribution of the software
  23. * without specific, written prior permission.  Hewlett-Packard and David Betz
  24. * make no representations about the suitability of this software for any
  25. * purpose. It is provided "as is" without express or implied warranty.
  26. *
  27. * HEWLETT-PACKARD AND DAVID BETZ DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
  28. * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
  29. * IN NO EVENT SHALL HEWLETT-PACKARD NOR DAVID BETZ BE LIABLE FOR ANY SPECIAL,
  30. * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  31. * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
  32. * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  33. * PERFORMANCE OF THIS SOFTWARE.
  34. *
  35. * See ./winterp/COPYRIGHT for information on contacting the authors.
  36. * Please send modifications, improvements and bugfixes to mayer@hplabs.hp.com
  37. * Post XLISP-specific questions/information to the newsgroup comp.lang.lisp.x
  38. *
  39. ********************************************************************************
  40. */
  41. static char rcs_identity[] = "@(#)$Header: w_funtab.c,v 1.12 91/03/25 04:20:31 mayer Exp $";
  42.  
  43. /* xlftab.c - xlisp function table */
  44. /*    Copyright (c) 1985, by David Michael Betz */
  45.  
  46. #include <stdio.h>
  47. #include <Xm/Xm.h>
  48. #include "winterp.h"
  49. #include "user_prefs.h"
  50. #include "xlisp/xlisp.h"
  51. #include "w_funtab.h"
  52. #include "app_funextn.h"    /* place application function extern declarations in app_funextn.h */
  53.  
  54. /* SUBR/FSUBR indicator */
  55. #define S    SUBR
  56. #define F    FSUBR
  57.  
  58. /* forward declarations */
  59. LVAL xnotimp();
  60. extern LVAL rmhash();
  61. extern LVAL rmquote();
  62. extern LVAL rmdquote();
  63. extern LVAL rmbquote();
  64. extern LVAL rmcomma();
  65. extern LVAL rmlpar();
  66. extern LVAL rmrpar();
  67. extern LVAL rmsemi();
  68. /* extern LVAL xnotimp(); */
  69. /* extern LVAL xnotimp(); */
  70. extern LVAL clnew();
  71. extern LVAL clisnew();
  72. extern LVAL clanswer();
  73. extern LVAL obisnew();
  74. extern LVAL obclass();
  75. extern LVAL obshow();
  76. /* extern LVAL xnotimp(); */
  77. /* extern LVAL xnotimp(); */
  78. /* extern LVAL xnotimp(); */
  79. /* extern LVAL xnotimp(); */
  80. extern LVAL xeval();
  81. extern LVAL xapply();
  82. extern LVAL xfuncall();
  83. extern LVAL xquote();
  84. extern LVAL xfunction();
  85. extern LVAL xbquote();
  86. extern LVAL xlambda();
  87. extern LVAL xset();
  88. extern LVAL xsetq();
  89. extern LVAL xsetf();
  90. extern LVAL xdefun();
  91. extern LVAL xdefmacro();
  92. extern LVAL xgensym();
  93. extern LVAL xmakesymbol();
  94. extern LVAL xintern();
  95. extern LVAL xsymname();
  96. extern LVAL xsymvalue();
  97. extern LVAL xsymplist();
  98. extern LVAL xget();
  99. extern LVAL xputprop();
  100. extern LVAL xremprop();
  101. extern LVAL xhash();
  102. extern LVAL xmkarray();
  103. extern LVAL xaref();
  104. extern LVAL xcar();
  105. extern LVAL xcdr();
  106. extern LVAL xcaar();
  107. extern LVAL xcadr();
  108. extern LVAL xcdar();
  109. extern LVAL xcddr();
  110. extern LVAL xcaaar();
  111. extern LVAL xcaadr();
  112. extern LVAL xcadar();
  113. extern LVAL xcaddr();
  114. extern LVAL xcdaar();
  115. extern LVAL xcdadr();
  116. extern LVAL xcddar();
  117. extern LVAL xcdddr();
  118. extern LVAL xcaaaar();
  119. extern LVAL xcaaadr();
  120. extern LVAL xcaadar();
  121. extern LVAL xcaaddr();
  122. extern LVAL xcadaar();
  123. extern LVAL xcadadr();
  124. extern LVAL xcaddar();
  125. extern LVAL xcadddr();
  126. extern LVAL xcdaaar();
  127. extern LVAL xcdaadr();
  128. extern LVAL xcdadar();
  129. extern LVAL xcdaddr();
  130. extern LVAL xcddaar();
  131. extern LVAL xcddadr();
  132. extern LVAL xcdddar();
  133. extern LVAL xcddddr();
  134. extern LVAL xcons();
  135. extern LVAL xlist();
  136. extern LVAL xappend();
  137. extern LVAL xreverse();
  138. extern LVAL xlast();
  139. extern LVAL xnth();
  140. extern LVAL xnthcdr();
  141. extern LVAL xmember();
  142. extern LVAL xassoc();
  143. extern LVAL xsubst();
  144. extern LVAL xsublis();
  145. extern LVAL xremove();
  146. extern LVAL xlength();
  147. extern LVAL xmapc();
  148. extern LVAL xmapcar();
  149. extern LVAL xmapl();
  150. extern LVAL xmaplist();
  151. extern LVAL xrplca();
  152. extern LVAL xrplcd();
  153. extern LVAL xnconc();
  154. extern LVAL xdelete();
  155. extern LVAL xatom();
  156. extern LVAL xsymbolp();
  157. extern LVAL xnumberp();
  158. extern LVAL xboundp();
  159. extern LVAL xnull();
  160. extern LVAL xlistp();
  161. extern LVAL xconsp();
  162. extern LVAL xminusp();
  163. extern LVAL xzerop();
  164. extern LVAL xplusp();
  165. extern LVAL xevenp();
  166. extern LVAL xoddp();
  167. extern LVAL xeq();
  168. extern LVAL xeql();
  169. extern LVAL xequal();
  170. extern LVAL xcond();
  171. extern LVAL xcase();
  172. extern LVAL xand();
  173. extern LVAL xor();
  174. extern LVAL xlet();
  175. extern LVAL xletstar();
  176. extern LVAL xif();
  177. extern LVAL xprog();
  178. extern LVAL xprogstar();
  179. extern LVAL xprog1();
  180. extern LVAL xprog2();
  181. extern LVAL xprogn();
  182. extern LVAL xgo();
  183. extern LVAL xreturn();
  184. extern LVAL xdo();
  185. extern LVAL xdostar();
  186. extern LVAL xdolist();
  187. extern LVAL xdotimes();
  188. extern LVAL xcatch();
  189. extern LVAL xthrow();
  190. extern LVAL xerror();
  191. extern LVAL xcerror();
  192. extern LVAL xbreak();
  193. extern LVAL xcleanup();
  194. extern LVAL xtoplevel();
  195. extern LVAL xcontinue();
  196. extern LVAL xerrset();
  197. extern LVAL xbaktrace();
  198. extern LVAL xevalhook();
  199. extern LVAL xfix();
  200. extern LVAL xfloat();
  201. extern LVAL xadd();
  202. extern LVAL xsub();
  203. extern LVAL xmul();
  204. extern LVAL xdiv();
  205. extern LVAL xadd1();
  206. extern LVAL xsub1();
  207. extern LVAL xrem();
  208. extern LVAL xmin();
  209. extern LVAL xmax();
  210. extern LVAL xabs();
  211. extern LVAL xsin();
  212. extern LVAL xcos();
  213. extern LVAL xtan();
  214. extern LVAL xexpt();
  215. extern LVAL xexp();
  216. extern LVAL xsqrt();
  217. extern LVAL xrand();
  218. extern LVAL xlogand();
  219. extern LVAL xlogior();
  220. extern LVAL xlogxor();
  221. extern LVAL xlognot();
  222. extern LVAL xlss();
  223. extern LVAL xleq();
  224. extern LVAL xequ();
  225. extern LVAL xneq();
  226. extern LVAL xgeq();
  227. extern LVAL xgtr();
  228. extern LVAL xstrcat();
  229. extern LVAL xsubseq();
  230. extern LVAL xstring();
  231. extern LVAL xchar();
  232. extern LVAL xread();
  233. extern LVAL xprint();
  234. extern LVAL xprin1();
  235. extern LVAL xprinc();
  236. extern LVAL xterpri();
  237. extern LVAL xflatsize();
  238. extern LVAL xflatc();
  239. extern LVAL xopen();
  240. extern LVAL xformat();
  241. extern LVAL xclose();
  242. extern LVAL xrdchar();
  243. extern LVAL xpkchar();
  244. extern LVAL xwrchar();
  245. extern LVAL xreadline();
  246. #ifdef WINTERP
  247. extern LVAL Wut_Prim_LOAD();    /* w_utils.c: WINTERP uses it's own version of xload() */
  248. #else
  249. extern LVAL xload();
  250. #endif                /* WINTERP */
  251. extern LVAL xtranscript();
  252. extern LVAL xgc();
  253. extern LVAL xexpand();
  254. extern LVAL xalloc();
  255. extern LVAL xmem();
  256. #ifdef SAVERESTORE
  257. extern LVAL xsave();
  258. extern LVAL xrestore();
  259. #else
  260. /* extern LVAL xnotimp(); */
  261. /* extern LVAL xnotimp(); */
  262. #endif
  263. extern LVAL xtype();
  264. extern LVAL xexit();
  265. extern LVAL xpeek();
  266. extern LVAL xpoke();
  267. extern LVAL xaddrs();
  268. extern LVAL xvector();
  269. extern LVAL xblock();
  270. extern LVAL xrtnfrom();
  271. extern LVAL xtagbody();
  272. extern LVAL xpsetq();
  273. extern LVAL xflet();
  274. extern LVAL xlabels();
  275. extern LVAL xmacrolet();
  276. extern LVAL xunwindprotect();
  277. extern LVAL xpp();
  278. extern LVAL xstrlss();
  279. extern LVAL xstrleq();
  280. extern LVAL xstreql();
  281. extern LVAL xstrneq();
  282. extern LVAL xstrgeq();
  283. extern LVAL xstrgtr();
  284. extern LVAL xstrilss();
  285. extern LVAL xstrileq();
  286. extern LVAL xstrieql();
  287. extern LVAL xstrineq();
  288. extern LVAL xstrigeq();
  289. extern LVAL xstrigtr();
  290. extern LVAL xintegerp();
  291. extern LVAL xfloatp();
  292. extern LVAL xstringp();
  293. extern LVAL xarrayp();
  294. extern LVAL xstreamp();
  295. extern LVAL xobjectp();
  296. extern LVAL xupcase();
  297. extern LVAL xdowncase();
  298. extern LVAL xnupcase();
  299. extern LVAL xndowncase();
  300. extern LVAL xtrim();
  301. extern LVAL xlefttrim();
  302. extern LVAL xrighttrim();
  303. extern LVAL xwhen();
  304. extern LVAL xunless();
  305. extern LVAL xloop();
  306. extern LVAL xsymfunction();
  307. extern LVAL xfboundp();
  308. extern LVAL xsend();
  309. extern LVAL xsendsuper();
  310. extern LVAL xprogv();
  311. extern LVAL xcharp();
  312. extern LVAL xcharint();
  313. extern LVAL xintchar();
  314. extern LVAL xrdbyte();
  315. extern LVAL xwrbyte();
  316. extern LVAL xmkstrinput();
  317. extern LVAL xmkstroutput();
  318. extern LVAL xgetstroutput();
  319. extern LVAL xgetlstoutput();
  320. extern LVAL xgcd();
  321. extern LVAL xgetlambda();
  322. extern LVAL xmacroexpand();
  323. extern LVAL x1macroexpand();
  324. extern LVAL xchrlss();
  325. extern LVAL xchrleq();
  326. extern LVAL xchreql();
  327. extern LVAL xchrneq();
  328. extern LVAL xchrgeq();
  329. extern LVAL xchrgtr();
  330. extern LVAL xchrilss();
  331. extern LVAL xchrileq();
  332. extern LVAL xchrieql();
  333. extern LVAL xchrineq();
  334. extern LVAL xchrigeq();
  335. extern LVAL xchrigtr();
  336. extern LVAL xuppercasep();
  337. extern LVAL xlowercasep();
  338. extern LVAL xbothcasep();
  339. extern LVAL xdigitp();
  340. extern LVAL xalphanumericp();
  341. extern LVAL xchupcase();
  342. extern LVAL xchdowncase();
  343. extern LVAL xdigitchar();
  344. extern LVAL xcharcode();
  345. extern LVAL xcodechar();
  346. extern LVAL xendp();
  347. extern LVAL xremif();
  348. extern LVAL xremifnot();
  349. extern LVAL xdelif();
  350. extern LVAL xdelifnot();
  351. extern LVAL xtrace();
  352. extern LVAL xuntrace();
  353. extern LVAL xsort();
  354. extern LVAL Prim_SYSTEM();
  355. extern LVAL Prim_POPEN();
  356. extern LVAL Prim_PCLOSE();
  357. extern LVAL Widget_Class_Method_ISNEW();
  358. extern LVAL Shell_Widget_Class_Method_ISNEW();
  359. extern LVAL Popup_Shell_Widget_Class_Method_ISNEW();
  360. extern LVAL Shell_Widget_Class_Method_REALIZE();
  361. extern LVAL Shell_Widget_Class_Method_UNREALIZE();
  362. extern LVAL Popup_Shell_Widget_Class_Method_POPUP();
  363. extern LVAL Popup_Shell_Widget_Class_Method_POPDOWN();
  364. extern LVAL Widget_Class_Method_MANAGE();
  365. extern LVAL Widget_Class_Method_UNMANAGE();
  366. extern LVAL Xm_File_Selection_Box_Widget_Class_Method_ISNEW();
  367. extern LVAL Xm_Form_Widget_Class_Method_ISNEW();
  368. extern LVAL Xm_List_Widget_Class_Method_ISNEW();
  369. extern LVAL Xm_Text_Widget_Class_Method_ISNEW();
  370. extern LVAL Xm_Message_Box_Widget_Class_Method_ISNEW();
  371. extern LVAL Xm_Row_Column_Widget_Class_Method_ISNEW();
  372. extern LVAL Xm_Selection_Box_Widget_Class_Method_ISNEW();
  373. extern LVAL Widget_Class_Method_SET_VALUES();
  374. extern LVAL Widget_Class_Method_ADD_CALLBACK();
  375. extern LVAL Xm_Text_Widget_Class_Method_GET_STRING();
  376. extern LVAL Wto_Prim_XtAddTimeOut();
  377. extern LVAL Wto_Prim_XtRemoveTimeout();
  378. extern LVAL Wcb_Prim_XtRemoveCallback();
  379. extern LVAL Widget_Class_Method_SET_CALLBACK();
  380. extern LVAL Widget_Class_Method_REMOVE_ALL_CALLBACKS();
  381. extern LVAL Wut_Prim_XAllocColor();
  382. extern LVAL Wpm_Prim_XmGetPixmap();
  383. extern LVAL Wpm_Prim_XmInstallImage();
  384. extern LVAL Wpm_Prim_XmUninstallImage();
  385. extern LVAL Wpm_Prim_XmGetImageFromFile();
  386. extern LVAL Widget_Class_Method_UPDATE_DISPLAY();
  387. extern LVAL Wut_UserClick_To_WidgetObj();
  388. extern LVAL Widget_Class_Method_DESTROY();
  389. extern LVAL Widget_Class_Method_PARENT();
  390. extern LVAL Xm_Text_Widget_Class_Method_GET_LAST_POSITION();
  391. extern LVAL Xm_Text_Widget_Class_Method_SET_STRING();
  392. extern LVAL Xm_Text_Widget_Class_Method_REPLACE();
  393. extern LVAL Xm_Text_Widget_Class_Method_GET_EDITABLE();
  394. extern LVAL Xm_Text_Widget_Class_Method_SET_EDITABLE();
  395. extern LVAL Xm_Text_Widget_Class_Method_GET_MAX_LENGTH();
  396. extern LVAL Xm_Text_Widget_Class_Method_SET_MAX_LENGTH();
  397. extern LVAL Xm_Text_Widget_Class_Method_GET_SELECTION();
  398. extern LVAL Xm_Text_Widget_Class_Method_SET_SELECTION();
  399. extern LVAL Xm_Text_Widget_Class_Method_CLEAR_SELECTION();
  400. extern LVAL Xm_Text_Widget_Class_Method_GET_TOP_CHARACTER();
  401. extern LVAL Xm_Text_Widget_Class_Method_SET_TOP_CHARACTER();
  402. extern LVAL Xm_Text_Widget_Class_Method_GET_INSERTION_POSITION();
  403. extern LVAL Xm_Text_Widget_Class_Method_SET_INSERTION_POSITION();
  404. extern LVAL Xm_Text_Widget_Class_Method_GET_SELECTION_POSITION();
  405. extern LVAL Xm_Text_Widget_Class_Method_XY_TO_POS();
  406. extern LVAL Xm_Text_Widget_Class_Method_POS_TO_XY();
  407. extern LVAL Xm_Text_Widget_Class_Method_SHOW_POSITION();
  408. extern LVAL Xm_Text_Widget_Class_Method_SCROLL();
  409. extern LVAL Xm_Text_Widget_Class_Method_DISABLE_REDISPLAY();
  410. extern LVAL Xm_Text_Widget_Class_Method_ENABLE_REDISPLAY();
  411. extern LVAL Xm_List_Widget_Class_Method_ADD_ITEM();
  412. extern LVAL Xm_List_Widget_Class_Method_ADD_ITEM_UNSELECTED();
  413. extern LVAL Xm_List_Widget_Class_Method_DELETE_ITEM();
  414. extern LVAL Xm_List_Widget_Class_Method_DELETE_POS();
  415. extern LVAL Xm_List_Widget_Class_Method_SELECT_ITEM();
  416. extern LVAL Xm_List_Widget_Class_Method_SELECT_POS();
  417. extern LVAL Xm_List_Widget_Class_Method_DESELECT_ITEM();
  418. extern LVAL Xm_List_Widget_Class_Method_DESELECT_POS();
  419. extern LVAL Xm_List_Widget_Class_Method_DESELECT_ALL_ITEMS();
  420. extern LVAL Xm_List_Widget_Class_Method_SET_POS();
  421. extern LVAL Xm_List_Widget_Class_Method_SET_BOTTOM_POS();
  422. extern LVAL Xm_List_Widget_Class_Method_SET_ITEM();
  423. extern LVAL Xm_List_Widget_Class_Method_SET_BOTTOM_ITEM();
  424. extern LVAL Xm_List_Widget_Class_Method_ITEM_EXISTS();
  425. extern LVAL Xm_List_Widget_Class_Method_SET_HORIZ_POS();
  426. extern LVAL Xm_List_Widget_Class_Method_ADD_CALLBACK();
  427. extern LVAL Xm_List_Widget_Class_Method_SET_CALLBACK();
  428. extern LVAL Xm_Drawing_Area_Widget_Class_Method_ADD_CALLBACK();
  429. extern LVAL Xm_Drawing_Area_Widget_Class_Method_SET_CALLBACK();
  430. extern LVAL Xm_Drawn_Button_Widget_Class_Method_ADD_CALLBACK();
  431. extern LVAL Xm_Drawn_Button_Widget_Class_Method_SET_CALLBACK();
  432. extern LVAL Xm_Row_Column_Widget_Class_Method_ADD_CALLBACK();
  433. extern LVAL Xm_Row_Column_Widget_Class_Method_SET_CALLBACK();
  434. extern LVAL Xm_Scroll_Bar_Widget_Class_Method_ADD_CALLBACK();
  435. extern LVAL Xm_Scroll_Bar_Widget_Class_Method_SET_CALLBACK();
  436. extern LVAL Xm_Toggle_Button_Widget_Class_Method_ADD_CALLBACK();
  437. extern LVAL Xm_Toggle_Button_Widget_Class_Method_SET_CALLBACK();
  438. extern LVAL Xm_Selection_Box_Widget_Class_Method_ADD_CALLBACK();
  439. extern LVAL Xm_Selection_Box_Widget_Class_Method_SET_CALLBACK();
  440. extern LVAL Xm_Command_Widget_Class_Method_ADD_CALLBACK();
  441. extern LVAL Xm_Command_Widget_Class_Method_SET_CALLBACK();
  442. extern LVAL Xm_File_Selection_Box_Widget_Class_Method_ADD_CALLBACK();
  443. extern LVAL Xm_File_Selection_Box_Widget_Class_Method_SET_CALLBACK();
  444. extern LVAL Xm_Scale_Widget_Class_Method_ADD_CALLBACK();
  445. extern LVAL Xm_Scale_Widget_Class_Method_SET_CALLBACK();
  446. extern LVAL Xm_Text_Widget_Class_Method_ADD_CALLBACK();
  447. extern LVAL Xm_Text_Widget_Class_Method_SET_CALLBACK();
  448. extern LVAL Widget_Class_Method_GET_VALUES();
  449. extern LVAL Xm_Cascade_Button_Widget_Class_Method_HIGHLIGHT();
  450. extern LVAL Xm_Command_Widget_Class_Method_GET_CHILD();
  451. extern LVAL Xm_Command_Widget_Class_Method_SET_VALUE();
  452. extern LVAL Xm_Command_Widget_Class_Method_APPEND_VALUE();
  453. extern LVAL Xm_Command_Widget_Class_Method_ERROR();
  454. extern LVAL Xm_File_Selection_Box_Widget_Class_Method_GET_CHILD();
  455. extern LVAL Xm_File_Selection_Box_Widget_Class_Method_DO_SEARCH();
  456. extern LVAL Xm_Main_Window_Widget_Class_SET_AREAS();
  457. extern LVAL Xm_Main_Window_Widget_Class_SEP1();
  458. extern LVAL Xm_Main_Window_Widget_Class_SEP2();
  459. extern LVAL Xm_Message_Box_Widget_Class_Method_GET_CHILD();
  460. extern LVAL Xm_Row_Column_Widget_Class_Method_MENU_POSITION();
  461. extern LVAL Xm_Row_Column_Widget_Class_Method_OPTION_LABEL_GADGET();
  462. extern LVAL Xm_Row_Column_Widget_Class_Method_OPTION_BUTTON_GADGET();
  463. extern LVAL xdefstruct();
  464. extern LVAL xstrtypep();
  465. extern LVAL xmkstruct();
  466. extern LVAL xcpystruct();
  467. extern LVAL xstrref();
  468. extern LVAL xstrset();
  469. extern LVAL xasin();
  470. extern LVAL xacos();
  471. extern LVAL xatan();
  472. extern LVAL Prim_FSCANF_FIXNUM();
  473. extern LVAL Prim_FSCANF_STRING();
  474. extern LVAL Prim_FSCANF_FLONUM();
  475. extern LVAL Prim_COPY_ARRAY();
  476. extern LVAL Prim_ARRAY_INSERT_POS();
  477. extern LVAL Prim_ARRAY_DELETE_POS();
  478. extern LVAL Shell_Widget_Class_Method_IS_MOTIF_WM_RUNNING();
  479. extern LVAL Xm_Scale_Widget_Class_Method_SET_VALUE();
  480. extern LVAL Xm_Scale_Widget_Class_Method_GET_VALUE();
  481. extern LVAL Xm_Scroll_Bar_Widget_Class_Method_SET_VALUE();
  482. extern LVAL Xm_Scroll_Bar_Widget_Class_Method_GET_VALUE();
  483. extern LVAL Xm_Scrolled_Window_Widget_Class_Method_SET_AREAS();
  484. extern LVAL Xm_Selection_Box_Widget_Class_Method_GET_CHILD();
  485. extern LVAL Xm_Toggle_Button_Widget_Class_Method_GET_STATE();
  486. extern LVAL Xm_Toggle_Button_Widget_Class_Method_SET_STATE();
  487. extern LVAL Xm_Toggle_Button_Gadget_Class_Method_GET_STATE();
  488. extern LVAL Xm_Toggle_Button_Gadget_Class_Method_SET_STATE();
  489. extern LVAL Wtx_Prim_XT_PARSE_TRANSLATION_TABLE();
  490. extern LVAL Wtx_Prim_XT_PARSE_ACCELERATOR_TABLE();
  491. extern LVAL Widget_Class_Method_OVERRIDE_TRANSLATIONS();
  492. extern LVAL Widget_Class_Method_AUGMENT_TRANSLATIONS();
  493. extern LVAL Widget_Class_Method_UNINSTALL_TRANSLATIONS();
  494. extern LVAL Widget_Class_Method_INSTALL_ACCELERATORS();
  495. extern LVAL Widget_Class_Method_INSTALL_ALL_ACCELERATORS();
  496. extern LVAL Widget_Class_Method_ADD_EVENT_HANDLER();
  497. extern LVAL Widget_Class_Method_SET_EVENT_HANDLER();
  498. extern LVAL Widget_Class_Method_BUILD_EVENT_MASK();
  499. extern LVAL Weh_Prim_REMOVE_EVENT_HANDLER();
  500. extern LVAL Wxt_Prim_XT_MANAGE_CHILDREN();
  501. extern LVAL Wxt_Prim_XT_UNMANAGE_CHILDREN();
  502. extern LVAL Widget_Class_Method_ADD_TAB_GROUP();
  503. extern LVAL Widget_Class_Method_REMOVE_TAB_GROUP();
  504. extern LVAL Widget_Class_Method_ADD_GRAB();
  505. extern LVAL Widget_Class_Method_REMOVE_GRAB();
  506. extern LVAL Widget_Class_Method_IS_COMPOSITE();
  507. extern LVAL Widget_Class_Method_IS_CONSTRAINT();
  508. extern LVAL Widget_Class_Method_IS_SHELL();
  509. extern LVAL Widget_Class_Method_IS_PRIMITIVE();
  510. extern LVAL Widget_Class_Method_IS_GADGET();
  511. extern LVAL Widget_Class_Method_IS_MANAGER();
  512. extern LVAL Widget_Class_Method_SET_SENSITIVE();
  513. extern LVAL Widget_Class_Method_SET_MAPPED_WHEN_MANAGED();
  514. extern LVAL Widget_Class_Method_IS_MANAGED();
  515. extern LVAL Widget_Class_Method_IS_REALIZED();
  516. extern LVAL Widget_Class_Method_IS_SENSITIVE();
  517. extern LVAL Widget_Class_Method_WINDOW();
  518. extern LVAL Widget_Class_Method_MAP();
  519. extern LVAL Widget_Class_Method_UNMAP();
  520. extern LVAL Xm_Bulletin_Board_Widget_Class_Method_ISNEW();
  521. extern LVAL Wxms_Prim_XM_STRING_CREATE();
  522. extern LVAL Wxms_Prim_XM_STRING_DIRECTION_CREATE();
  523. extern LVAL Wxms_Prim_XM_STRING_SEPARATOR_CREATE();
  524. extern LVAL Wxms_Prim_XM_STRING_SEGMENT_CREATE();
  525. extern LVAL Wxms_Prim_XM_STRING_CREATE_L_TO_R();
  526. extern LVAL Wxms_Prim_XM_STRING_GET_L_TO_R();
  527. extern LVAL Wxms_Prim_XM_STRING_CONCAT();
  528. extern LVAL Wxms_Prim_XM_STRING_COPY();
  529. extern LVAL Wxms_Prim_XM_STRING_BYTE_COMPARE();
  530. extern LVAL Wxms_Prim_XM_STRING_COMPARE();
  531. extern LVAL Wxms_Prim_XM_STRING_LENGTH();
  532. extern LVAL Wxms_Prim_XM_STRING_EMPTY();
  533. extern LVAL Wxms_Prim_XM_STRING_LINE_COUNT();
  534. extern LVAL Wcls_Prim_WIDGETOBJP();
  535. extern LVAL Wut_Prim_X_STORE_COLOR();
  536. extern LVAL Wut_Prim_X_ALLOC_N_COLOR_CELLS_NO_PLANES();
  537. extern LVAL Xm_Command_Widget_Class_Method_ISNEW();
  538. extern LVAL Application_Shell_Widget_Class_Method_GET_ARGV();
  539. extern LVAL Application_Shell_Widget_Class_Method_SET_ARGV();
  540. extern LVAL Xm_Command_Widget_Class_Method_GET_HISTORY_ITEMS();
  541. extern LVAL Xm_List_Widget_Class_Method_GET_ITEMS();
  542. extern LVAL Xm_List_Widget_Class_Method_GET_SELECTED_ITEMS();
  543. extern LVAL Xm_Selection_Box_Widget_Class_Method_GET_LIST_ITEMS();
  544. extern LVAL Widget_Class_Method_HAS_CALLBACKS();
  545. extern LVAL Widget_Class_Method_EXISTS_P();
  546. extern LVAL Application_Shell_Widget_Class_Method_ISNEW();
  547. extern LVAL Wxm_Prim_XM_SET_MENU_CURSOR();
  548. extern LVAL Wut_Prim_GET_MOUSE_LOCATION(); /* uunet!cimshop!rhess */
  549. extern LVAL Wto_Prim_TIMEOUT_ACTIVE_P();
  550.  
  551. #ifdef WINTERP_MOTIF_11
  552. extern LVAL Wxm_Prim_XM_GET_COLORS();
  553. extern LVAL Xm_Arrow_Button_Widget_Class_Method_ADD_CALLBACK();
  554. extern LVAL Xm_Arrow_Button_Widget_Class_Method_SET_CALLBACK();
  555. extern LVAL Xm_Push_Button_Widget_Class_Method_ADD_CALLBACK();
  556. extern LVAL Xm_Push_Button_Widget_Class_Method_SET_CALLBACK();
  557. extern LVAL Xm_Cascade_Button_Gadget_Class_Method_HIGHLIGHT();
  558. extern LVAL Xm_List_Widget_Class_Method_ADD_ITEMS();
  559. extern LVAL Xm_List_Widget_Class_Method_DELETE_ITEMS();
  560. extern LVAL Xm_List_Widget_Class_Method_DELETE_ITEMS_POS();
  561. extern LVAL Xm_List_Widget_Class_Method_DELETE_ALL_ITEMS();
  562. extern LVAL Xm_List_Widget_Class_Method_REPLACE_ITEMS();
  563. extern LVAL Xm_List_Widget_Class_Method_REPLACE_ITEMS_POS();
  564. extern LVAL Xm_List_Widget_Class_Method_SET_ADD_MODE();
  565. extern LVAL Xm_List_Widget_Class_Method_ITEM_POS();
  566. extern LVAL Xm_List_Widget_Class_Method_GET_MATCH_POS();
  567. extern LVAL Xm_List_Widget_Class_Method_GET_SELECTED_POS();
  568. extern LVAL Xm_Main_Window_Widget_Class_SEP3();
  569. extern LVAL Xm_Row_Column_Widget_Class_Method_GET_POSTED_FROM_WIDGET();
  570. extern LVAL Xm_Text_Field_Widget_Class_Method_GET_STRING();
  571. extern LVAL Xm_Text_Field_Widget_Class_Method_GET_LAST_POSITION();
  572. extern LVAL Xm_Text_Field_Widget_Class_Method_SET_STRING();
  573. extern LVAL Xm_Text_Field_Widget_Class_Method_REPLACE();
  574. extern LVAL Xm_Text_Field_Widget_Class_Method_GET_EDITABLE();
  575. extern LVAL Xm_Text_Field_Widget_Class_Method_SET_EDITABLE();
  576. extern LVAL Xm_Text_Field_Widget_Class_Method_GET_MAX_LENGTH();
  577. extern LVAL Xm_Text_Field_Widget_Class_Method_SET_MAX_LENGTH();
  578. extern LVAL Xm_Text_Field_Widget_Class_Method_GET_SELECTION();
  579. extern LVAL Xm_Text_Field_Widget_Class_Method_SET_SELECTION();
  580. extern LVAL Xm_Text_Field_Widget_Class_Method_CLEAR_SELECTION();
  581. extern LVAL Xm_Text_Field_Widget_Class_Method_GET_INSERTION_POSITION();
  582. extern LVAL Xm_Text_Widget_Class_Method_GET_CURSOR_POSITION();
  583. extern LVAL Xm_Text_Field_Widget_Class_Method_GET_CURSOR_POSITION();
  584. extern LVAL Xm_Text_Field_Widget_Class_Method_SET_INSERTION_POSITION();
  585. extern LVAL Xm_Text_Widget_Class_Method_SET_CURSOR_POSITION();
  586. extern LVAL Xm_Text_Field_Widget_Class_Method_SET_CURSOR_POSITION();
  587. extern LVAL Xm_Text_Field_Widget_Class_Method_GET_SELECTION_POSITION();
  588. extern LVAL Xm_Text_Field_Widget_Class_Method_XY_TO_POS();
  589. extern LVAL Xm_Text_Field_Widget_Class_Method_POS_TO_XY();
  590. extern LVAL Xm_Text_Field_Widget_Class_Method_SHOW_POSITION();
  591. extern LVAL Xm_Text_Widget_Class_Method_SET_HIGHLIGHT();
  592. extern LVAL Xm_Text_Field_Widget_Class_Method_SET_HIGHLIGHT();
  593. extern LVAL Xm_Text_Widget_Class_Method_INSERT();
  594. extern LVAL Xm_Text_Field_Widget_Class_Method_INSERT();
  595. extern LVAL Xm_Text_Widget_Class_Method_SET_ADD_MODE();
  596. extern LVAL Xm_Text_Field_Widget_Class_Method_SET_ADD_MODE();
  597. extern LVAL Xm_Text_Widget_Class_Method_GET_ADD_MODE();
  598. extern LVAL Xm_Text_Field_Widget_Class_Method_GET_ADD_MODE();
  599. extern LVAL Xm_Text_Widget_Class_Method_REMOVE();
  600. extern LVAL Xm_Text_Field_Widget_Class_Method_REMOVE();
  601. extern LVAL Xm_Text_Widget_Class_Method_COPY();
  602. extern LVAL Xm_Text_Field_Widget_Class_Method_COPY();
  603. extern LVAL Xm_Text_Widget_Class_Method_CUT();
  604. extern LVAL Xm_Text_Field_Widget_Class_Method_CUT();
  605. extern LVAL Xm_Text_Widget_Class_Method_PASTE();
  606. extern LVAL Xm_Text_Field_Widget_Class_Method_PASTE();
  607. extern LVAL Xm_Text_Widget_Class_Method_GET_BASELINE();
  608. extern LVAL Xm_Text_Field_Widget_Class_Method_GET_BASELINE();
  609. extern LVAL Xm_File_Selection_Box_Widget_Class_Method_GET_DIR_LIST_ITEMS();
  610. extern LVAL Xm_File_Selection_Box_Widget_Class_Method_GET_FILE_LIST_ITEMS();
  611. extern LVAL Xm_List_Widget_Class_Method_PARENT();
  612. extern LVAL Xm_Text_Widget_Class_Method_PARENT();
  613. extern LVAL Widget_Class_Method_NAME();
  614. extern LVAL Xm_Row_Column_Widget_Class_Method_GET_SUB_MENU_WIDGET();
  615. extern LVAL Widget_Class_Method_GET_CHILDREN();
  616. extern LVAL Widget_Class_Method_CALL_ACTION_PROC();
  617. extern LVAL Wxt_Prim_XT_RESOLVE_PATHNAME();
  618. extern LVAL Wxm_Prim_XM_SET_FONT_UNITS();
  619. extern LVAL Wxms_Prim_XM_STRING_HAS_SUBSTRING();
  620. extern LVAL Wxm_Prim_XM_TRACKING_LOCATE();
  621. extern LVAL Wxm_Prim_XM_CONVERT_UNITS();
  622. extern LVAL Wxms_Prim_XM_CVT_CT_TO_XM_STRING();
  623. extern LVAL Wxms_Prim_XM_CVT_XM_STRING_TO_CT();
  624. extern LVAL Widget_Class_Method_PROCESS_TRAVERSAL();
  625. #endif                /* WINTERP_MOTIF_11 */
  626.  
  627. #ifndef WINTERP_MOTIF_11    /* HP_GRAPH_WIDGET doesn't work with 1.1 */
  628. #ifdef HP_GRAPH_WIDGET        /* if HP_GRAPH_WIDGET defined */
  629. extern LVAL Xm_Graph_Widget_Class_Method_ISNEW();
  630. extern LVAL Xm_Arc_Widget_Class_Method_ISNEW();
  631. extern LVAL Xm_Graph_Widget_Class_Method_ADD_CALLBACK();
  632. extern LVAL Xm_Graph_Widget_Class_Method_SET_CALLBACK();
  633. extern LVAL Xm_Graph_Widget_Class_Method_CENTER_AROUND_WIDGET();
  634. extern LVAL Xm_Graph_Widget_Class_Method_DESTROY_ALL_ARCS();
  635. extern LVAL Xm_Graph_Widget_Class_Method_DESTROY_ALL_NODES();
  636. extern LVAL Xm_Graph_Widget_Class_Method_DESTROY_SELECTED_ARCS_OR_NODES();
  637. extern LVAL Xm_Graph_Widget_Class_Method_GET_ARCS();
  638. extern LVAL Xm_Graph_Widget_Class_Method_GET_NODES();
  639. extern LVAL Xm_Graph_Widget_Class_Method_GET_ARCS_BETWEEN_NODES();
  640. extern LVAL Xm_Graph_Widget_Class_Method_GET_NODE_ARCS();
  641. extern LVAL Xm_Graph_Widget_Class_Method_GET_ROOTS();
  642. extern LVAL Xm_Graph_Widget_Class_Method_GET_SELECTED_ARCS();
  643. extern LVAL Xm_Graph_Widget_Class_Method_GET_SELECTED_NODES();
  644. extern LVAL Xm_Graph_Widget_Class_Method_INPUT_OVER_ARC();
  645. extern LVAL Xm_Graph_Widget_Class_Method_INSERT_ROOTS();
  646. extern LVAL Xm_Graph_Widget_Class_Method_IS_POINT_IN_ARC();
  647. extern LVAL Xm_Graph_Widget_Class_Method_IS_SELECTED_ARC();
  648. extern LVAL Xm_Graph_Widget_Class_Method_IS_SELECTED_NODE();
  649. extern LVAL Xm_Graph_Widget_Class_Method_MOVE_ARC();
  650. extern LVAL Xm_Graph_Widget_Class_Method_MOVE_NODE();
  651. extern LVAL Xm_Graph_Widget_Class_Method_NUM_ARCS();
  652. extern LVAL Xm_Graph_Widget_Class_Method_NUM_NODES();
  653. extern LVAL Xm_Graph_Widget_Class_Method_NUM_NODE_ARCS();
  654. extern LVAL Xm_Graph_Widget_Class_Method_NUM_ROOTS();
  655. extern LVAL Xm_Graph_Widget_Class_Method_NUM_SELECTED_ARCS();
  656. extern LVAL Xm_Graph_Widget_Class_Method_NUM_SELECTED_NODES();
  657. extern LVAL Xm_Graph_Widget_Class_Method_MOVE_ALL();
  658. extern LVAL Xm_Graph_Widget_Class_Method_LAYOUT();
  659. extern LVAL Xm_Graph_Widget_Class_Method_RELAY_SUBGRAPH();
  660. extern LVAL Xm_Graph_Widget_Class_Method_REMOVE_ARC_BETWEEN_NODES();
  661. extern LVAL Xm_Graph_Widget_Class_Method_REMOVE_ROOTS();
  662. extern LVAL Xm_Graph_Widget_Class_Method_SELECT_ARC();
  663. extern LVAL Xm_Graph_Widget_Class_Method_SELECT_ARCS();
  664. extern LVAL Xm_Graph_Widget_Class_Method_SELECT_NODE();
  665. extern LVAL Xm_Graph_Widget_Class_Method_SELECT_NODES();
  666. extern LVAL Xm_Graph_Widget_Class_Method_UNSELECT_ARC();
  667. extern LVAL Xm_Graph_Widget_Class_Method_UNSELECT_ARCS();
  668. extern LVAL Xm_Graph_Widget_Class_Method_UNSELECT_NODE();
  669. extern LVAL Xm_Graph_Widget_Class_Method_UNSELECT_NODES();
  670. #endif                /* HP_GRAPH_WIDGET */
  671. #endif                /* notdef(WINTERP_MOTIF_11) */
  672.  
  673. #ifdef hpux
  674. extern LVAL Wut_Prim_X_REFRESH_DISPLAY(); /* I'm too lazy to make this portable */
  675. #endif                /* hpux */
  676.  
  677. /*
  678.  * The function table -- funtab[].
  679.  *
  680.  * NOTE:
  681.  * The order and number of entries in funtab[] must correspond to the
  682.  * number and order of the enumerations (function indexes) created in
  683.  * w_funtab.h.
  684.  *
  685.  * When adding entries to funtab[], make sure to update the #define
  686.  * INDEX_OF_LAST_FUNTAB_ENTRY_USED_BY_libWinterp to the entry number of the last
  687.  * element added to funtab[], then add a corresponding entry in w_funtab.h
  688.  * and update LAST_FUNTAB_POINTER_USED_BY_libWinterp to the last entry in
  689.  * w_funtab.h. (You will also need to declare the function "extern" above.)
  690.  *
  691.  * Function Wfu_Funtab_Sanity_Check() is called from main() and checks to make
  692.  * sure that the number of entries in funtab[] correspond to the number of
  693.  * indexes in w_funtab.h. This test catches the majority of errors in keeping
  694.  * the funtab[] table up to date with the pointers in w_funtab.h. Note however
  695.  * that the test will only work if you keep
  696.  * LAST_FUNTAB_POINTER_USED_BY_libWinterp and
  697.  * INDEX_OF_LAST_FUNTAB_ENTRY_USED_BY_libWinterp up to date.
  698.  *
  699.  * In order to decouple your c-language extensions to WINTERP from changes in
  700.  * future releases of WINTERP, you should not add new entries to w_funtab.c
  701.  * and w_funtab.h. To add a function or method <function> to WINTERP, you should
  702.  * (1) declare the new function as "extern" by adding a line of the form
  703.  * "extern LVAL <function>();" in app_funextn.h;
  704.  * (2) create a symbolic index for the function or method by adding a line
  705.  * "FTAB_<function>," to app_funidx.h;
  706.  * (3) associate a lisp symbol name <FUNCTION-NAME> (must be all uppercase)
  707.  * to the C function <function> by adding the following line to app_fundecl.h:
  708.  * "{"<FUNCTION-NAME>", S, <function>},"
  709.  *
  710.  * If you are adding a method, rather than a function, do the same in
  711.  * steps (1) and (2), but for (3) you should add a line like the following to
  712.  * app_fundecl.h: "{NULL, S, <function>},".
  713.  * To associate a message keyword <:MESSAGE> to a method on <widgetclass>,
  714.  * you must call xladdmsg() in the portion of a file that initializes
  715.  * a class. An example of such a call is:
  716.  * xladdmsg(<widgetclass>, "<:MESSAGE>", FTAB_<function>).
  717.  * The file defining a class and it's methods should #include w_funtab.h in
  718.  * order to get FTAB_<function>.
  719.  * See files wc_*.c for examples of defining methods/messages.
  720.  */
  721. FUNDEF funtab[] = {
  722.   /*
  723.    * NOTE-FROM-NPM: if you re-order any entries between index 0-15, you must
  724.    * also change the #defines in xlisp/xlisp.h accordingly:
  725.    * #define FT_RMHASH   0
  726.    * #define FT_RMQUOTE     1
  727.    * #define FT_RMDQUOTE 2
  728.    * #define FT_RMBQUOTE 3
  729.    * #define FT_RMCOMMA  4
  730.    * #define FT_RMLPAR   5
  731.    * #define FT_RMRPAR   6
  732.    * #define FT_RMSEMI   7
  733.    * -- #define xxxxxx   8 --
  734.    * -- #define yyyyyy   9 --
  735.    * #define FT_CLNEW     10
  736.    * #define FT_CLISNEW     11
  737.    * #define FT_CLANSWER 12
  738.    * #define FT_OBISNEW     13
  739.    * #define FT_OBCLASS     14
  740.    * #define FT_OBSHOW     15
  741.    */
  742.  
  743.   /* read macro functions */
  744.   {    NULL,                S, rmhash        }, /*   0 */
  745.   {    NULL,                S, rmquote        }, /*   1 */
  746.   {    NULL,                S, rmdquote        }, /*   2 */
  747.   {    NULL,                S, rmbquote        }, /*   3 */
  748.   {    NULL,                S, rmcomma        }, /*   4 */
  749.   {    NULL,                S, rmlpar        }, /*   5 */
  750.   {    NULL,                S, rmrpar        }, /*   6 */
  751.   {    NULL,                S, rmsemi        }, /*   7 */
  752.   {    NULL,                S, xnotimp        }, /*   8 */
  753.   {    NULL,                S, xnotimp        }, /*   9 */
  754.  
  755.   /* methods */
  756.   {    NULL,                S, clnew        }, /*  10 */
  757.   {    NULL,                S, clisnew        }, /*  11 */
  758.   {    NULL,                S, clanswer        }, /*  12 */
  759.   {    NULL,                S, obisnew        }, /*  13 */
  760.   {    NULL,                S, obclass        }, /*  14 */
  761.   {    NULL,                S, obshow        }, /*  15 */
  762.   {    NULL,                S, xnotimp        }, /*  16 */
  763.   {    NULL,                S, xnotimp        }, /*  17 */
  764.   {    NULL,                S, xnotimp        }, /*  18 */
  765.   {    NULL,                S, xnotimp        }, /*  19 */
  766.  
  767.   /* evaluator functions */
  768.   {    "EVAL",                S, xeval        }, /*  20 */
  769.   {    "APPLY",            S, xapply        }, /*  21 */
  770.   {    "FUNCALL",            S, xfuncall        }, /*  22 */
  771.   {    "QUOTE",            F, xquote        }, /*  23 */
  772.   {    "FUNCTION",            F, xfunction        }, /*  24 */
  773.   {    "BACKQUOTE",            F, xbquote        }, /*  25 */
  774.   {    "LAMBDA",            F, xlambda        }, /*  26 */
  775.  
  776.   /* symbol functions */
  777.   {    "SET",                S, xset            }, /*  27 */
  778.   {    "SETQ",                F, xsetq        }, /*  28 */
  779.   {    "SETF",                F, xsetf        }, /*  29 */
  780.   {    "DEFUN",            F, xdefun        }, /*  30 */
  781.   {    "DEFMACRO",            F, xdefmacro        }, /*  31 */
  782.   {    "GENSYM",            S, xgensym        }, /*  32 */
  783.   {    "MAKE-SYMBOL",            S, xmakesymbol        }, /*  33 */
  784.   {    "INTERN",             S, xintern        }, /*  34 */
  785.   {    "SYMBOL-NAME",            S, xsymname        }, /*  35 */
  786.   {    "SYMBOL-VALUE",            S, xsymvalue        }, /*  36 */
  787.   {    "SYMBOL-PLIST",            S, xsymplist        }, /*  37 */
  788.   {    "GET",                S, xget            }, /*  38 */
  789.   {    "PUTPROP",             S, xputprop        }, /*  39 */
  790.   {    "REMPROP",            S, xremprop        }, /*  40 */
  791.   {    "HASH",                S, xhash        }, /*  41 */
  792.  
  793.   /* array functions */
  794.   {    "MAKE-ARRAY",            S, xmkarray        }, /*  42 */
  795.   {    "AREF",                S, xaref        }, /*  43 */
  796.             
  797.   /* list functions */
  798.   {    "CAR",                S, xcar            }, /*  44 */
  799.   {    "CDR",                S, xcdr            }, /*  45 */
  800.             
  801.   {    "CAAR",                S, xcaar        }, /*  46 */
  802.   {    "CADR",                S, xcadr        }, /*  47 */
  803.   {    "CDAR",                S, xcdar        }, /*  48 */
  804.   {    "CDDR",                S, xcddr        }, /*  49 */
  805.  
  806.   {    "CAAAR",            S, xcaaar        }, /*  50 */
  807.   {    "CAADR",            S, xcaadr        }, /*  51 */
  808.   {    "CADAR",            S, xcadar        }, /*  52 */
  809.   {    "CADDR",            S, xcaddr        }, /*  53 */
  810.   {    "CDAAR",            S, xcdaar        }, /*  54 */
  811.   {    "CDADR",            S, xcdadr        }, /*  55 */
  812.   {    "CDDAR",            S, xcddar        }, /*  56 */
  813.   {    "CDDDR",            S, xcdddr        }, /*  57 */
  814.  
  815.   {    "CAAAAR",             S, xcaaaar        }, /*  58 */
  816.   {    "CAAADR",            S, xcaaadr        }, /*  59 */
  817.   {    "CAADAR",            S, xcaadar        }, /*  60 */
  818.   {    "CAADDR",            S, xcaaddr        }, /*  61 */
  819.   {    "CADAAR",             S, xcadaar        }, /*  62 */
  820.   {    "CADADR",            S, xcadadr        }, /*  63 */
  821.   {    "CADDAR",            S, xcaddar        }, /*  64 */
  822.   {    "CADDDR",            S, xcadddr        }, /*  65 */
  823.   {    "CDAAAR",            S, xcdaaar        }, /*  66 */
  824.   {    "CDAADR",            S, xcdaadr        }, /*  67 */
  825.   {    "CDADAR",            S, xcdadar        }, /*  68 */
  826.   {    "CDADDR",            S, xcdaddr        }, /*  69 */
  827.   {    "CDDAAR",            S, xcddaar        }, /*  70 */
  828.   {    "CDDADR",            S, xcddadr        }, /*  71 */
  829.   {    "CDDDAR",            S, xcdddar        }, /*  72 */
  830.   {    "CDDDDR",            S, xcddddr        }, /*  73 */
  831.  
  832.   {    "CONS",                S, xcons        }, /*  74 */
  833.   {    "LIST",                S, xlist        }, /*  75 */
  834.   {    "APPEND",            S, xappend        }, /*  76 */
  835.   {    "REVERSE",            S, xreverse        }, /*  77 */
  836.   {    "LAST",                S, xlast        }, /*  78 */
  837.   {    "NTH",                S, xnth            }, /*  79 */
  838.   {    "NTHCDR",            S, xnthcdr        }, /*  80 */
  839.   {    "MEMBER",            S, xmember        }, /*  81 */
  840.   {    "ASSOC",            S, xassoc        }, /*  82 */
  841.   {    "SUBST",             S, xsubst        }, /*  83 */
  842.   {    "SUBLIS",            S, xsublis        }, /*  84 */
  843.   {    "REMOVE",            S, xremove        }, /*  85 */
  844.   {    "LENGTH",            S, xlength        }, /*  86 */
  845.   {    "MAPC",                S, xmapc        }, /*  87 */
  846.   {    "MAPCAR",            S, xmapcar        }, /*  88 */
  847.   {    "MAPL",                S, xmapl        }, /*  89 */
  848.   {    "MAPLIST",            S, xmaplist        }, /*  90 */
  849.             
  850.   /* destructive list functions */
  851.   {    "RPLACA",            S, xrplca        }, /*  91 */
  852.   {    "RPLACD",            S, xrplcd        }, /*  92 */
  853.   {    "NCONC",            S, xnconc        }, /*  93 */
  854.   {    "DELETE",            S, xdelete        }, /*  94 */
  855.  
  856.   /* predicate functions */
  857.   {    "ATOM",                S, xatom        }, /*  95 */
  858.   {    "SYMBOLP",            S, xsymbolp        }, /*  96 */
  859.   {    "NUMBERP",            S, xnumberp        }, /*  97 */
  860.   {    "BOUNDP",            S, xboundp         }, /*  98 */
  861.   {    "NULL",                S, xnull        }, /*  99 */
  862.   {    "LISTP",            S, xlistp        }, /* 100 */
  863.   {    "CONSP",            S, xconsp        }, /* 101 */
  864.   {    "MINUSP",            S, xminusp         }, /* 102 */
  865.   {    "ZEROP",            S, xzerop        }, /* 103 */
  866.   {    "PLUSP",            S, xplusp        }, /* 104 */
  867.   {    "EVENP",            S, xevenp        }, /* 105 */
  868.   {    "ODDP",                S, xoddp        }, /* 106 */
  869.   {    "EQ",                S, xeq            }, /* 107 */
  870.   {    "EQL",                S, xeql            }, /* 108 */
  871.   {    "EQUAL",            S, xequal        }, /* 109 */
  872.  
  873.   /* special forms */
  874.   {    "COND",                F, xcond        }, /* 110 */
  875.   {    "CASE",                F, xcase        }, /* 111 */
  876.   {    "AND",                F, xand            }, /* 112 */
  877.   {    "OR",                F, xor            }, /* 113 */
  878.   {    "LET",                F, xlet            }, /* 114 */
  879.   {    "LET*",                F, xletstar        }, /* 115 */
  880.   {    "IF",                F, xif            }, /* 116 */
  881.   {    "PROG",                F, xprog        }, /* 117 */
  882.   {    "PROG*",            F, xprogstar        }, /* 118 */
  883.   {    "PROG1",            F, xprog1        }, /* 119 */
  884.   {    "PROG2",            F, xprog2        }, /* 120 */
  885.   {    "PROGN",            F, xprogn        }, /* 121 */
  886.   {    "GO",                F, xgo            }, /* 122 */
  887.   {    "RETURN",            F, xreturn          }, /* 123 */
  888.   {    "DO",                F, xdo            }, /* 124 */
  889.   {    "DO*",                F, xdostar          }, /* 125 */
  890.   {    "DOLIST",            F, xdolist          }, /* 126 */
  891.   {    "DOTIMES",            F, xdotimes        }, /* 127 */
  892.   {    "CATCH",            F, xcatch        }, /* 128 */
  893.   {    "THROW",            F, xthrow        }, /* 129 */
  894.     
  895.   /* debugging and error handling functions */
  896.   {    "ERROR",            S, xerror        }, /* 130 */
  897.   {    "CERROR",            S, xcerror          }, /* 131 */
  898.   {    "BREAK",            S, xbreak        }, /* 132 */
  899.   {    "CLEAN-UP",            S, xcleanup        }, /* 133 */
  900.   {    "TOP-LEVEL",            S, xtoplevel        }, /* 134 */
  901.   {    "CONTINUE",            S, xcontinue        }, /* 135 */
  902.   {    "ERRSET",             F, xerrset          }, /* 136 */
  903.   {    "BAKTRACE",            S, xbaktrace        }, /* 137 */
  904.   {    "EVALHOOK",            S, xevalhook        }, /* 138 */
  905.  
  906.   /* arithmetic functions */
  907.   {    "TRUNCATE",            S, xfix            }, /* 139 */
  908.   {    "FLOAT",            S, xfloat        }, /* 140 */
  909.   {    "+",                S, xadd            }, /* 141 */
  910.   {    "-",                S, xsub            }, /* 142 */
  911.   {    "*",                S, xmul            }, /* 143 */
  912.   {    "/",                S, xdiv            }, /* 144 */
  913.   {    "1+",                S, xadd1        }, /* 145 */
  914.   {    "1-",                S, xsub1        }, /* 146 */
  915.   {    "REM",                S, xrem            }, /* 147 */
  916.   {    "MIN",                S, xmin            }, /* 148 */
  917.   {    "MAX",                S, xmax            }, /* 149 */
  918.   {    "ABS",                S, xabs            }, /* 150 */
  919.   {    "SIN",                S, xsin            }, /* 151 */
  920.   {    "COS",                S, xcos            }, /* 152 */
  921.   {    "TAN",                S, xtan            }, /* 153 */
  922.   {    "EXPT",                S, xexpt        }, /* 154 */
  923.   {    "EXP",                S, xexp            }, /* 155 */
  924.   {    "SQRT",                  S, xsqrt        }, /* 156 */
  925.   {    "RANDOM",            S, xrand        }, /* 157 */
  926.             
  927.   /* bitwise logical functions */
  928.   {    "LOGAND",            S, xlogand          }, /* 158 */
  929.   {    "LOGIOR",            S, xlogior          }, /* 159 */
  930.   {    "LOGXOR",            S, xlogxor          }, /* 160 */
  931.   {    "LOGNOT",            S, xlognot          }, /* 161 */
  932.  
  933.   /* numeric comparison functions */
  934.   {    "<",                S, xlss            }, /* 162 */
  935.   {    "<=",                S, xleq            }, /* 163 */
  936.   {    "=",                S, xequ            }, /* 164 */
  937.   {    "/=",                S, xneq            }, /* 165 */
  938.   {    ">=",                S, xgeq            }, /* 166 */
  939.   {    ">",                S, xgtr            }, /* 167 */
  940.             
  941.   /* string functions */
  942.   {    "STRCAT",            S, xstrcat          }, /* 168 */
  943.   {    "SUBSEQ",            S, xsubseq          }, /* 169 */
  944.   {    "STRING",            S, xstring          }, /* 170 */
  945.   {    "CHAR",                S, xchar        }, /* 171 */
  946.  
  947.   /* I/O functions */
  948.   {    "READ",                S, xread        }, /* 172 */
  949.   {    "PRINT",            S, xprint        }, /* 173 */
  950.   {    "PRIN1",            S, xprin1        }, /* 174 */
  951.   {    "PRINC",            S, xprinc        }, /* 175 */
  952.   {    "TERPRI",            S, xterpri          }, /* 176 */
  953.   {    "FLATSIZE",            S, xflatsize        }, /* 177 */
  954.   {    "FLATC",            S, xflatc        }, /* 178 */
  955.             
  956.   /* file I/O functions */
  957.   {    "OPEN",                S, xopen        }, /* 179 */
  958.   {    "FORMAT",            S, xformat          }, /* 180 */
  959.   {    "CLOSE",            S, xclose        }, /* 181 */
  960.   {    "READ-CHAR",            S, xrdchar          }, /* 182 */
  961.   {    "PEEK-CHAR",            S, xpkchar          }, /* 183 */
  962.   {    "WRITE-CHAR",            S, xwrchar          }, /* 184 */
  963.   {    "READ-LINE",            S, xreadline        }, /* 185 */
  964.  
  965.   /* system functions */
  966. #ifdef WINTERP            /* WINTERP uses it's own version of xload() */
  967.   {    "LOAD",                S, Wut_Prim_LOAD    }, /* 186 */  
  968. #else
  969.   {    "LOAD",                S, xload        }, /* 186 */
  970. #endif                /* WINTERP */
  971.   {    "DRIBBLE",            S, xtranscript        }, /* 187 */
  972.  
  973.   /* functions specific to xldmem.c */
  974.   {    "GC",                S, xgc            }, /* 188 */
  975.   {    "EXPAND",            S, xexpand          }, /* 189 */
  976.   {    "ALLOC",            S, xalloc        }, /* 190 */
  977.   {    "ROOM",                S, xmem            }, /* 191 */
  978. #ifdef SAVERESTORE
  979.   {    "SAVE",                S, xsave        }, /* 192 */
  980.   {    "RESTORE",            S, xrestore        }, /* 193 */
  981. #else
  982.   {    NULL,                S, xnotimp        }, /* 192 */
  983.   {    NULL,                S, xnotimp        }, /* 193 */
  984. #endif
  985.   /* end of functions specific to xldmem.c */
  986.  
  987.   {    "TYPE-OF",            S, xtype        }, /* 194 */
  988.   {    "EXIT",                S, xexit        }, /* 195 */
  989.   {    "PEEK",                S, xpeek        }, /* 196 */
  990.   {    "POKE",                S, xpoke        }, /* 197 */
  991.   {    "ADDRESS-OF",            S, xaddrs        }, /* 198 */
  992.  
  993.   /* new functions and special forms */
  994.   {    "VECTOR",            S, xvector          }, /* 199 */
  995.   {    "BLOCK",            F, xblock        }, /* 200 */
  996.   {    "RETURN-FROM",            F, xrtnfrom        }, /* 201 */
  997.   {    "TAGBODY",            F, xtagbody        }, /* 202 */
  998.   {    "PSETQ",            F, xpsetq        }, /* 203 */
  999.   {    "FLET",                F, xflet        }, /* 204 */
  1000.   {    "LABELS",            F, xlabels          }, /* 205 */
  1001.   {    "MACROLET",            F, xmacrolet        }, /* 206 */
  1002.   {    "UNWIND-PROTECT",        F, xunwindprotect    }, /* 207 */
  1003.   {    "PPRINT",            S, xpp            }, /* 208 */
  1004.   {    "STRING<",            S, xstrlss          }, /* 209 */
  1005.   {    "STRING<=",            S, xstrleq          }, /* 210 */
  1006.   {    "STRING=",            S, xstreql          }, /* 211 */
  1007.   {    "STRING/=",            S, xstrneq          }, /* 212 */
  1008.   {    "STRING>=",            S, xstrgeq          }, /* 213 */
  1009.   {    "STRING>",            S, xstrgtr          }, /* 214 */
  1010.   {    "STRING-LESSP",            S, xstrilss        }, /* 215 */
  1011.   {    "STRING-NOT-GREATERP",        S, xstrileq        }, /* 216 */
  1012.   {    "STRING-EQUAL",            S, xstrieql        }, /* 217 */
  1013.   {    "STRING-NOT-EQUAL",        S, xstrineq        }, /* 218 */
  1014.   {    "STRING-NOT-LESSP",        S, xstrigeq        }, /* 219 */
  1015.   {    "STRING-GREATERP",        S, xstrigtr        }, /* 220 */
  1016.   {    "INTEGERP",            S, xintegerp        }, /* 221 */
  1017.   {    "FLOATP",            S, xfloatp          }, /* 222 */
  1018.   {    "STRINGP",            S, xstringp        }, /* 223 */
  1019.   {    "ARRAYP",            S, xarrayp          }, /* 224 */
  1020.   {    "STREAMP",            S, xstreamp        }, /* 225 */
  1021.   {    "OBJECTP",            S, xobjectp        }, /* 226 */
  1022.   {    "STRING-UPCASE",        S, xupcase          }, /* 227 */
  1023.   {    "STRING-DOWNCASE",        S, xdowncase        }, /* 228 */
  1024.   {    "NSTRING-UPCASE",        S, xnupcase        }, /* 229 */
  1025.   {    "NSTRING-DOWNCASE",        S, xndowncase        }, /* 230 */
  1026.   {    "STRING-TRIM",            S, xtrim        }, /* 231 */
  1027.   {    "STRING-LEFT-TRIM",        S, xlefttrim        }, /* 232 */
  1028.   {    "STRING-RIGHT-TRIM",        S, xrighttrim        }, /* 233 */
  1029.   {    "WHEN",                F, xwhen        }, /* 234 */
  1030.   {    "UNLESS",            F, xunless          }, /* 235 */
  1031.   {    "LOOP",                F, xloop        }, /* 236 */
  1032.   {    "SYMBOL-FUNCTION",        S, xsymfunction        }, /* 237 */
  1033.   {    "FBOUNDP",            S, xfboundp        }, /* 238 */
  1034.   {    "SEND",                S, xsend        }, /* 239 */
  1035.   {    "SEND-SUPER",            S, xsendsuper        }, /* 240 */
  1036.   {    "PROGV",            F, xprogv        }, /* 241 */
  1037.   {    "CHARACTERP",            S, xcharp        }, /* 242 */
  1038.   {    "CHAR-INT",            S, xcharint        }, /* 243 */
  1039.   {    "INT-CHAR",            S, xintchar        }, /* 244 */
  1040.   {    "READ-BYTE",            S, xrdbyte          }, /* 245 */
  1041.   {    "WRITE-BYTE",            S, xwrbyte          }, /* 246 */
  1042.   {    "MAKE-STRING-INPUT-STREAM",     S, xmkstrinput        }, /* 247 */
  1043.   {    "MAKE-STRING-OUTPUT-STREAM",    S, xmkstroutput        }, /* 248 */
  1044.   {    "GET-OUTPUT-STREAM-STRING",    S, xgetstroutput    }, /* 249 */
  1045.   {    "GET-OUTPUT-STREAM-LIST",    S, xgetlstoutput    }, /* 250 */
  1046.   {    "GCD",                S, xgcd            }, /* 251 */
  1047.   {    "GET-LAMBDA-EXPRESSION",     S, xgetlambda        }, /* 252 */
  1048.   {    "MACROEXPAND",            S, xmacroexpand        }, /* 253 */
  1049.   {    "MACROEXPAND-1",        S, x1macroexpand    }, /* 254 */
  1050.   {    "CHAR<",            S, xchrlss          }, /* 255 */
  1051.   {    "CHAR<=",            S, xchrleq          }, /* 256 */
  1052.   {    "CHAR=",            S, xchreql          }, /* 257 */
  1053.   {    "CHAR/=",            S, xchrneq          }, /* 258 */
  1054.   {    "CHAR>=",            S, xchrgeq          }, /* 259 */
  1055.   {    "CHAR>",            S, xchrgtr          }, /* 260 */
  1056.   {    "CHAR-LESSP",            S, xchrilss        }, /* 261 */
  1057.   {    "CHAR-NOT-GREATERP",        S, xchrileq        }, /* 262 */
  1058.   {    "CHAR-EQUAL",            S, xchrieql        }, /* 263 */
  1059.   {    "CHAR-NOT-EQUAL",        S, xchrineq        }, /* 264 */
  1060.   {    "CHAR-NOT-LESSP",        S, xchrigeq        }, /* 265 */
  1061.   {    "CHAR-GREATERP",        S, xchrigtr        }, /* 266 */
  1062.   {    "UPPER-CASE-P",            S, xuppercasep        }, /* 267 */
  1063.   {    "LOWER-CASE-P",            S, xlowercasep        }, /* 268 */
  1064.   {    "BOTH-CASE-P",            S, xbothcasep        }, /* 269 */
  1065.   {    "DIGIT-CHAR-P",            S, xdigitp        }, /* 270 */
  1066.   {    "ALPHANUMERICP",        S, xalphanumericp    }, /* 271 */
  1067.   {    "CHAR-UPCASE",            S, xchupcase        }, /* 272 */
  1068.   {    "CHAR-DOWNCASE",        S, xchdowncase        }, /* 273 */
  1069.   {    "DIGIT-CHAR",            S, xdigitchar        }, /* 274 */
  1070.   {    "CHAR-CODE",            S, xcharcode        }, /* 275 */
  1071.   {    "CODE-CHAR",            S, xcodechar        }, /* 276 */
  1072.   {    "ENDP",                S, xendp        }, /* 277 */
  1073.   {    "REMOVE-IF",            S, xremif        }, /* 278 */
  1074.   {    "REMOVE-IF-NOT",        S, xremifnot        }, /* 279 */
  1075.   {    "DELETE-IF",            S, xdelif        }, /* 280 */
  1076.   {    "DELETE-IF-NOT",        S, xdelifnot        }, /* 281 */
  1077.   {    "TRACE",            F, xtrace        }, /* 282 */
  1078.   {    "UNTRACE",            F, xuntrace        }, /* 283 */
  1079.   {    "SORT",                S, xsort        }, /* 284 */
  1080.  
  1081.   /*
  1082.    * note: various entries added in xlisp 2.1 would go here, but since
  1083.    * I just got the 2.1 sources other stuff has been added in the 
  1084.    * meantine, and I don't feel like renumbering everything.
  1085.    * See index 394-402...
  1086.    */
  1087.  
  1088.   {"SYSTEM",    S, Prim_SYSTEM}, /* 285 */
  1089.   {"POPEN",    S, Prim_POPEN},    /* 286 */
  1090.   {"PCLOSE",    S, Prim_PCLOSE}, /* 287 */
  1091.   {NULL, S, Widget_Class_Method_ISNEW},    /* 288 */
  1092.   {NULL, S, Shell_Widget_Class_Method_ISNEW}, /* 289 */
  1093.   {NULL, S, Popup_Shell_Widget_Class_Method_ISNEW}, /* 290 */ 
  1094.   {NULL, S, Shell_Widget_Class_Method_REALIZE},    /* 291 */
  1095.   {NULL, S, Shell_Widget_Class_Method_UNREALIZE}, /* 292 */
  1096.   {NULL, S, Popup_Shell_Widget_Class_Method_POPUP}, /* 293 */
  1097.   {NULL, S, Popup_Shell_Widget_Class_Method_POPDOWN}, /* 294 */
  1098.   {NULL, S, Widget_Class_Method_MANAGE}, /* 295 */
  1099.   {NULL, S, Widget_Class_Method_UNMANAGE}, /* 296 */
  1100.   {NULL, S, Xm_File_Selection_Box_Widget_Class_Method_ISNEW}, /* 297 */
  1101.   {NULL, S, Xm_Form_Widget_Class_Method_ISNEW},    /* 298 */
  1102.   {NULL, S, Xm_List_Widget_Class_Method_ISNEW},    /* 299 */
  1103.   {NULL, S, Xm_Text_Widget_Class_Method_ISNEW},    /* 300 */
  1104.   {NULL, S, Xm_Message_Box_Widget_Class_Method_ISNEW}, /* 301 */
  1105.   {NULL, S, Xm_Row_Column_Widget_Class_Method_ISNEW}, /* 302 */
  1106.   {NULL, S, Xm_Selection_Box_Widget_Class_Method_ISNEW}, /* 303 */
  1107.   {NULL, S, Widget_Class_Method_SET_VALUES}, /* 304 */
  1108.   {NULL, S, Widget_Class_Method_ADD_CALLBACK}, /* 305 */
  1109.   {NULL, S, Xm_Text_Widget_Class_Method_GET_STRING}, /* 306 */
  1110.   {"XT_ADD_TIMEOUT",        S, Wto_Prim_XtAddTimeOut}, /* 307 */
  1111.   {"XT_REMOVE_TIMEOUT",        S, Wto_Prim_XtRemoveTimeout}, /* 308 */
  1112.   {"XT_REMOVE_CALLBACK",    S, Wcb_Prim_XtRemoveCallback}, /* 309 */
  1113.   {NULL, S, Widget_Class_Method_SET_CALLBACK}, /* 310 */
  1114.   {NULL, S, Widget_Class_Method_REMOVE_ALL_CALLBACKS}, /* 311 */
  1115.   {"X_ALLOC_COLOR",        S, Wut_Prim_XAllocColor}, /* 312 */
  1116.   {"XM_GET_PIXMAP",        S, Wpm_Prim_XmGetPixmap}, /* 313 */
  1117.   {"XM_INSTALL_IMAGE",        S, Wpm_Prim_XmInstallImage}, /* 314 */
  1118.   {"XM_UNINSTALL_IMAGE",    S, Wpm_Prim_XmUninstallImage}, /* 315 */
  1119.   {"XM_GET_XIMAGE_FROM_FILE",    S, Wpm_Prim_XmGetImageFromFile}, /* 316 */
  1120.   {NULL, S, Widget_Class_Method_UPDATE_DISPLAY}, /* 317 */
  1121.   {"GET_MOUSED_WIDGET",        S, Wut_UserClick_To_WidgetObj},    /* 318 */
  1122.   {NULL, S, Widget_Class_Method_DESTROY}, /* 319 */
  1123.   {NULL, S, Widget_Class_Method_PARENT}, /* 320 */
  1124.   {NULL, S, Xm_Text_Widget_Class_Method_GET_LAST_POSITION}, /* 321 */
  1125.   {NULL, S, Xm_Text_Widget_Class_Method_SET_STRING}, /* 322 */
  1126.   {NULL, S, Xm_Text_Widget_Class_Method_REPLACE}, /* 323 */
  1127.   {NULL, S, Xm_Text_Widget_Class_Method_GET_EDITABLE}, /* 324 */
  1128.   {NULL, S, Xm_Text_Widget_Class_Method_SET_EDITABLE}, /* 325 */
  1129.   {NULL, S, Xm_Text_Widget_Class_Method_GET_MAX_LENGTH}, /* 326 */
  1130.   {NULL, S, Xm_Text_Widget_Class_Method_SET_MAX_LENGTH}, /* 327  */
  1131.   {NULL, S, Xm_Text_Widget_Class_Method_GET_SELECTION},    /* 328 */
  1132.   {NULL, S, Xm_Text_Widget_Class_Method_SET_SELECTION},    /* 329 */
  1133.   {NULL, S, Xm_Text_Widget_Class_Method_CLEAR_SELECTION}, /* 330 */
  1134.   {NULL, S, Xm_Text_Widget_Class_Method_GET_TOP_CHARACTER}, /* 331 */
  1135.   {NULL, S, Xm_Text_Widget_Class_Method_SET_TOP_CHARACTER}, /* 332 */
  1136.   {NULL, S, Xm_Text_Widget_Class_Method_GET_INSERTION_POSITION}, /* 333 */
  1137.   {NULL, S, Xm_Text_Widget_Class_Method_SET_INSERTION_POSITION}, /* 334 */
  1138.   {NULL, S, Xm_Text_Widget_Class_Method_GET_SELECTION_POSITION}, /* 335 */
  1139.   {NULL, S, Xm_Text_Widget_Class_Method_XY_TO_POS}, /* 336 */
  1140.   {NULL, S, Xm_Text_Widget_Class_Method_POS_TO_XY}, /* 337 */
  1141.   {NULL, S, Xm_Text_Widget_Class_Method_SHOW_POSITION},    /* 338 */
  1142.   {NULL, S, Xm_Text_Widget_Class_Method_SCROLL}, /* 339 */
  1143.   {NULL, S, Xm_Text_Widget_Class_Method_DISABLE_REDISPLAY}, /* 340 */
  1144.   {NULL, S, Xm_Text_Widget_Class_Method_ENABLE_REDISPLAY}, /* 341 */
  1145.   {NULL, S, Xm_List_Widget_Class_Method_ADD_ITEM}, /* 342 */
  1146.   {NULL, S, Xm_List_Widget_Class_Method_ADD_ITEM_UNSELECTED}, /* 343 */
  1147.   {NULL, S, Xm_List_Widget_Class_Method_DELETE_ITEM}, /* 344 */
  1148.   {NULL, S, Xm_List_Widget_Class_Method_DELETE_POS}, /* 345 */
  1149.   {NULL, S, Xm_List_Widget_Class_Method_SELECT_ITEM}, /* 346 */
  1150.   {NULL, S, Xm_List_Widget_Class_Method_SELECT_POS}, /* 347 */
  1151.   {NULL, S, Xm_List_Widget_Class_Method_DESELECT_ITEM},    /* 348 */
  1152.   {NULL, S, Xm_List_Widget_Class_Method_DESELECT_POS}, /* 349 */
  1153.   {NULL, S, Xm_List_Widget_Class_Method_DESELECT_ALL_ITEMS}, /* 350 */
  1154.   {NULL, S, Xm_List_Widget_Class_Method_SET_POS}, /* 351 */
  1155.   {NULL, S, Xm_List_Widget_Class_Method_SET_BOTTOM_POS}, /* 352 */
  1156.   {NULL, S, Xm_List_Widget_Class_Method_SET_ITEM}, /* 353 */
  1157.   {NULL, S, Xm_List_Widget_Class_Method_SET_BOTTOM_ITEM}, /* 354 */
  1158.   {NULL, S, Xm_List_Widget_Class_Method_ITEM_EXISTS}, /* 355 */
  1159.   {NULL, S, Xm_List_Widget_Class_Method_SET_HORIZ_POS},    /* 356 */
  1160.   {NULL, S, Xm_List_Widget_Class_Method_ADD_CALLBACK}, /* 357 */
  1161.   {NULL, S, Xm_List_Widget_Class_Method_SET_CALLBACK}, /* 358 */
  1162.   {NULL, S, Xm_Drawing_Area_Widget_Class_Method_ADD_CALLBACK}, /* 359 */
  1163.   {NULL, S, Xm_Drawing_Area_Widget_Class_Method_SET_CALLBACK}, /* 360 */
  1164.   {NULL, S, Xm_Drawn_Button_Widget_Class_Method_ADD_CALLBACK}, /* 361 */
  1165.   {NULL, S, Xm_Drawn_Button_Widget_Class_Method_SET_CALLBACK}, /* 362 */
  1166.   {NULL, S, Xm_Row_Column_Widget_Class_Method_ADD_CALLBACK}, /* 363 */
  1167.   {NULL, S, Xm_Row_Column_Widget_Class_Method_SET_CALLBACK}, /* 364 */
  1168.   {NULL, S, Xm_Scroll_Bar_Widget_Class_Method_ADD_CALLBACK}, /* 365 */
  1169.   {NULL, S, Xm_Scroll_Bar_Widget_Class_Method_SET_CALLBACK}, /* 366 */
  1170.   {NULL, S, Xm_Toggle_Button_Widget_Class_Method_ADD_CALLBACK},    /* 367 */
  1171.   {NULL, S, Xm_Toggle_Button_Widget_Class_Method_SET_CALLBACK},    /* 368 */
  1172.   {NULL, S, Xm_Selection_Box_Widget_Class_Method_ADD_CALLBACK},    /* 369 */
  1173.   {NULL, S, Xm_Selection_Box_Widget_Class_Method_SET_CALLBACK},    /* 370 */
  1174.   {NULL, S, Xm_Command_Widget_Class_Method_ADD_CALLBACK}, /* 371 */
  1175.   {NULL, S, Xm_Command_Widget_Class_Method_SET_CALLBACK}, /* 372 */
  1176.   {NULL, S, Xm_File_Selection_Box_Widget_Class_Method_ADD_CALLBACK}, /* 373 */
  1177.   {NULL, S, Xm_File_Selection_Box_Widget_Class_Method_SET_CALLBACK}, /* 374 */
  1178.   {NULL, S, Xm_Scale_Widget_Class_Method_ADD_CALLBACK},    /* 375 */
  1179.   {NULL, S, Xm_Scale_Widget_Class_Method_SET_CALLBACK},    /* 376 */
  1180.   {NULL, S, Xm_Text_Widget_Class_Method_ADD_CALLBACK}, /* 377 */
  1181.   {NULL, S, Xm_Text_Widget_Class_Method_SET_CALLBACK}, /* 378 */
  1182.   {NULL, S, Widget_Class_Method_GET_VALUES}, /* 379 */
  1183.   {NULL, S, Xm_Cascade_Button_Widget_Class_Method_HIGHLIGHT}, /* 380 */
  1184.   {NULL, S, Xm_Command_Widget_Class_Method_GET_CHILD}, /* 381 */
  1185.   {NULL, S, Xm_Command_Widget_Class_Method_SET_VALUE}, /* 382 */
  1186.   {NULL, S, Xm_Command_Widget_Class_Method_APPEND_VALUE}, /* 383 */
  1187.   {NULL, S, Xm_Command_Widget_Class_Method_ERROR}, /* 384 */
  1188.   {NULL, S, Xm_File_Selection_Box_Widget_Class_Method_GET_CHILD}, /* 385 */
  1189.   {NULL, S, Xm_File_Selection_Box_Widget_Class_Method_DO_SEARCH}, /* 386 */
  1190.   {NULL, S, Xm_Main_Window_Widget_Class_SET_AREAS}, /* 387 */
  1191.   {NULL, S, Xm_Main_Window_Widget_Class_SEP1}, /* 388 */
  1192.   {NULL, S, Xm_Main_Window_Widget_Class_SEP2}, /* 389 */
  1193.   {NULL, S, Xm_Message_Box_Widget_Class_Method_GET_CHILD}, /* 390 */
  1194.   {NULL, S, Xm_Row_Column_Widget_Class_Method_MENU_POSITION}, /* 391 */
  1195.   {NULL, S, Xm_Row_Column_Widget_Class_Method_OPTION_LABEL_GADGET}, /* 392 */
  1196.   {NULL, S, Xm_Row_Column_Widget_Class_Method_OPTION_BUTTON_GADGET}, /* 393 */
  1197.   {"DEFSTRUCT",            F, xdefstruct        }, /* 394 */
  1198.   {"%STRUCT-TYPE-P",        S, xstrtypep        }, /* 395 */
  1199.   {"%MAKE-STRUCT",        S, xmkstruct        }, /* 396 */
  1200.   {"%COPY-STRUCT",        S, xcpystruct        }, /* 397 */
  1201.   {"%STRUCT-REF",        S, xstrref        }, /* 398 */
  1202.   {"%STRUCT-SET",        S, xstrset        }, /* 399 */
  1203.   {"ASIN",            S, xasin        }, /* 400 */
  1204.   {"ACOS",            S, xacos        }, /* 401 */
  1205.   {"ATAN",            S, xatan        }, /* 402 */
  1206.   {"FSCANF-FIXNUM",        S, Prim_FSCANF_FIXNUM    }, /* 403 */
  1207.   {"FSCANF-STRING",        S, Prim_FSCANF_STRING    }, /* 404 */
  1208.   {"FSCANF-FLONUM",        S, Prim_FSCANF_FLONUM    }, /* 405 */
  1209.   {"COPY-ARRAY",        S, Prim_COPY_ARRAY    }, /* 406 */
  1210.   {"ARRAY-INSERT-POS",        S, Prim_ARRAY_INSERT_POS}, /* 407 */
  1211.   {"ARRAY-DELETE-POS",        S, Prim_ARRAY_DELETE_POS}, /* 408 */
  1212.   {NULL, S, Shell_Widget_Class_Method_IS_MOTIF_WM_RUNNING}, /* 409 */
  1213.   {NULL, S, Xm_Scale_Widget_Class_Method_SET_VALUE}, /* 410 */
  1214.   {NULL, S, Xm_Scale_Widget_Class_Method_GET_VALUE}, /* 411 */
  1215.   {NULL, S, Xm_Scroll_Bar_Widget_Class_Method_SET_VALUE}, /* 412 */
  1216.   {NULL, S, Xm_Scroll_Bar_Widget_Class_Method_GET_VALUE}, /* 413 */
  1217.   {NULL, S, Xm_Scrolled_Window_Widget_Class_Method_SET_AREAS}, /* 414 */
  1218.   {NULL, S, Xm_Selection_Box_Widget_Class_Method_GET_CHILD}, /* 415 */
  1219.   {NULL, S, Xm_Toggle_Button_Widget_Class_Method_GET_STATE}, /* 416 */
  1220.   {NULL, S, Xm_Toggle_Button_Widget_Class_Method_SET_STATE}, /* 417 */
  1221.   {NULL, S, Xm_Toggle_Button_Gadget_Class_Method_GET_STATE}, /* 418 */
  1222.   {NULL, S, Xm_Toggle_Button_Gadget_Class_Method_SET_STATE}, /* 419 */
  1223.   {"XT_PARSE_TRANSLATION_TABLE", S, Wtx_Prim_XT_PARSE_TRANSLATION_TABLE}, /* 420 */
  1224.   {"XT_PARSE_ACCELERATOR_TABLE", S, Wtx_Prim_XT_PARSE_ACCELERATOR_TABLE}, /* 421 */
  1225.   {NULL, S, Widget_Class_Method_OVERRIDE_TRANSLATIONS},    /* 422 */
  1226.   {NULL, S, Widget_Class_Method_AUGMENT_TRANSLATIONS}, /* 423 */
  1227.   {NULL, S, Widget_Class_Method_UNINSTALL_TRANSLATIONS}, /* 424 */
  1228.   {NULL, S, Widget_Class_Method_INSTALL_ACCELERATORS}, /* 425 */
  1229.   {NULL, S, Widget_Class_Method_INSTALL_ALL_ACCELERATORS}, /* 426 */
  1230.   {NULL, S, Widget_Class_Method_ADD_EVENT_HANDLER}, /* 427 */
  1231.   {NULL, S, Widget_Class_Method_SET_EVENT_HANDLER}, /* 428 */
  1232.   {NULL, S, Widget_Class_Method_BUILD_EVENT_MASK}, /* 429 */
  1233.   {"REMOVE_EVENT_HANDLER",    S, Weh_Prim_REMOVE_EVENT_HANDLER}, /* 430 */
  1234.   {"XT_MANAGE_CHILDREN",    S, Wxt_Prim_XT_MANAGE_CHILDREN}, /* 431 */
  1235.   {"XT_UNMANAGE_CHILDREN",    S, Wxt_Prim_XT_UNMANAGE_CHILDREN}, /* 432 */
  1236.   {NULL, S, Widget_Class_Method_ADD_TAB_GROUP},    /* 433 */
  1237.   {NULL, S, Widget_Class_Method_REMOVE_TAB_GROUP}, /* 434 */
  1238.   {NULL, S, Widget_Class_Method_ADD_GRAB}, /* 435 */
  1239.   {NULL, S, Widget_Class_Method_REMOVE_GRAB}, /* 436 */
  1240.   {NULL, S, Widget_Class_Method_IS_COMPOSITE}, /* 437 */
  1241.   {NULL, S, Widget_Class_Method_IS_CONSTRAINT},    /* 438 */
  1242.   {NULL, S, Widget_Class_Method_IS_SHELL}, /* 439 */
  1243.   {NULL, S, Widget_Class_Method_IS_PRIMITIVE}, /* 440 */
  1244.   {NULL, S, Widget_Class_Method_IS_GADGET}, /* 441 */
  1245.   {NULL, S, Widget_Class_Method_IS_MANAGER}, /* 442 */
  1246.   {NULL, S, Widget_Class_Method_SET_SENSITIVE},    /* 443 */
  1247.   {NULL, S, Widget_Class_Method_SET_MAPPED_WHEN_MANAGED}, /* 444 */
  1248.   {NULL, S, Widget_Class_Method_IS_MANAGED}, /* 445 */
  1249.   {NULL, S, Widget_Class_Method_IS_REALIZED}, /* 446 */
  1250.   {NULL, S, Widget_Class_Method_IS_SENSITIVE}, /* 447 */
  1251.   {NULL, S, Widget_Class_Method_WINDOW}, /* 448 */
  1252.   {NULL, S, Widget_Class_Method_MAP}, /* 449 */
  1253.   {NULL, S, Widget_Class_Method_UNMAP},    /* 450 */
  1254.   {NULL, S, Xm_Bulletin_Board_Widget_Class_Method_ISNEW}, /* 451 */
  1255.   {"XM_STRING_CREATE",        S, Wxms_Prim_XM_STRING_CREATE},    /* 452 */
  1256.   {"XM_STRING_DIRECTION_CREATE",S, Wxms_Prim_XM_STRING_DIRECTION_CREATE}, /* 453 */
  1257.   {"XM_STRING_SEPARATOR_CREATE",S, Wxms_Prim_XM_STRING_SEPARATOR_CREATE}, /* 454 */
  1258.   {"XM_STRING_SEGMENT_CREATE",    S, Wxms_Prim_XM_STRING_SEGMENT_CREATE},    /* 455 */
  1259.   {"XM_STRING_CREATE_L_TO_R",    S, Wxms_Prim_XM_STRING_CREATE_L_TO_R}, /* 455 */
  1260.   {"XM_STRING_GET_L_TO_R",    S, Wxms_Prim_XM_STRING_GET_L_TO_R}, /* 457 */
  1261.   {"XM_STRING_CONCAT",        S, Wxms_Prim_XM_STRING_CONCAT},    /* 458 */
  1262.   {"XM_STRING_COPY",        S, Wxms_Prim_XM_STRING_COPY}, /* 459 */
  1263.   {"XM_STRING_BYTE_COMPARE",    S, Wxms_Prim_XM_STRING_BYTE_COMPARE}, /* 460 */
  1264.   {"XM_STRING_COMPARE",        S, Wxms_Prim_XM_STRING_COMPARE}, /* 461 */
  1265.   {"XM_STRING_LENGTH",        S, Wxms_Prim_XM_STRING_LENGTH},    /* 462 */
  1266.   {"XM_STRING_EMPTY",        S, Wxms_Prim_XM_STRING_EMPTY}, /* 463 */
  1267.   {"XM_STRING_LINE_COUNT",    S, Wxms_Prim_XM_STRING_LINE_COUNT}, /* 464 */
  1268.   {"WIDGETOBJP",        S, Wcls_Prim_WIDGETOBJP}, /* 465 */
  1269.   {"X_STORE_COLOR",        S, Wut_Prim_X_STORE_COLOR}, /* 466 */
  1270.   {"X_ALLOC_N_COLOR_CELLS_NO_PLANES", S, Wut_Prim_X_ALLOC_N_COLOR_CELLS_NO_PLANES}, /* 467 */
  1271.   {NULL, S, Xm_Command_Widget_Class_Method_ISNEW}, /* 468 */
  1272.   {NULL, S, Application_Shell_Widget_Class_Method_GET_ARGV}, /* 469 */
  1273.   {NULL, S, Application_Shell_Widget_Class_Method_SET_ARGV}, /* 470 */
  1274.   {NULL, S, Xm_Command_Widget_Class_Method_GET_HISTORY_ITEMS}, /* 471 */
  1275.   {NULL, S, Xm_List_Widget_Class_Method_GET_ITEMS}, /* 472 */
  1276.   {NULL, S, Xm_List_Widget_Class_Method_GET_SELECTED_ITEMS}, /* 473 */
  1277.   {NULL, S, Xm_Selection_Box_Widget_Class_Method_GET_LIST_ITEMS}, /* 474 */
  1278.   {NULL, S, Widget_Class_Method_HAS_CALLBACKS},    /* 475 */
  1279.   {NULL, S, Widget_Class_Method_EXISTS_P}, /* 476 */
  1280.   {NULL, S, Application_Shell_Widget_Class_Method_ISNEW}, /* 477 */
  1281.   {"XM_SET_MENU_CURSOR", S, Wxm_Prim_XM_SET_MENU_CURSOR}, /* 478 */
  1282.   {"GET_MOUSE_LOCATION", S, Wut_Prim_GET_MOUSE_LOCATION}, /* 479 -- uunet!cimshop!rhess */
  1283.   {"TIMEOUT_ACTIVE_P", S, Wto_Prim_TIMEOUT_ACTIVE_P}, /* 480 */
  1284.  
  1285.   /* Constant needed by Wfu_Funtab_Sanity_Check() */
  1286. #define INDEX_OF_LAST_FUNTAB_ENTRY_USED_BY_libWinterp 480
  1287.  
  1288. #ifdef WINTERP_MOTIF_11
  1289.   {"XM_GET_COLORS", S, Wxm_Prim_XM_GET_COLORS},    /*  */
  1290.   {NULL, S, Xm_Arrow_Button_Widget_Class_Method_ADD_CALLBACK}, /*  */
  1291.   {NULL, S, Xm_Arrow_Button_Widget_Class_Method_SET_CALLBACK}, /*  */
  1292.   {NULL, S, Xm_Push_Button_Widget_Class_Method_ADD_CALLBACK}, /*  */
  1293.   {NULL, S, Xm_Push_Button_Widget_Class_Method_SET_CALLBACK}, /*  */
  1294.   {NULL, S, Xm_Cascade_Button_Gadget_Class_Method_HIGHLIGHT}, /*  */
  1295.   {NULL, S, Xm_List_Widget_Class_Method_ADD_ITEMS}, /*  */
  1296.   {NULL, S, Xm_List_Widget_Class_Method_DELETE_ITEMS}, /*  */
  1297.   {NULL, S, Xm_List_Widget_Class_Method_DELETE_ITEMS_POS}, /*  */
  1298.   {NULL, S, Xm_List_Widget_Class_Method_DELETE_ALL_ITEMS}, /*  */
  1299.   {NULL, S, Xm_List_Widget_Class_Method_REPLACE_ITEMS},    /*  */
  1300.   {NULL, S, Xm_List_Widget_Class_Method_REPLACE_ITEMS_POS}, /*  */
  1301.   {NULL, S, Xm_List_Widget_Class_Method_SET_ADD_MODE}, /*  */
  1302.   {NULL, S, Xm_List_Widget_Class_Method_ITEM_POS}, /*  */
  1303.   {NULL, S, Xm_List_Widget_Class_Method_GET_MATCH_POS},    /*  */
  1304.   {NULL, S, Xm_List_Widget_Class_Method_GET_SELECTED_POS}, /*  */
  1305.   {NULL, S, Xm_Main_Window_Widget_Class_SEP3}, /*  */
  1306.   {NULL, S, Xm_Row_Column_Widget_Class_Method_GET_POSTED_FROM_WIDGET}, /*  */
  1307.   {NULL, S, Xm_Text_Field_Widget_Class_Method_GET_STRING}, /*  */
  1308.   {NULL, S, Xm_Text_Field_Widget_Class_Method_GET_LAST_POSITION}, /*  */
  1309.   {NULL, S, Xm_Text_Field_Widget_Class_Method_SET_STRING}, /*  */
  1310.   {NULL, S, Xm_Text_Field_Widget_Class_Method_REPLACE},    /*  */
  1311.   {NULL, S, Xm_Text_Field_Widget_Class_Method_GET_EDITABLE}, /*  */
  1312.   {NULL, S, Xm_Text_Field_Widget_Class_Method_SET_EDITABLE}, /*  */
  1313.   {NULL, S, Xm_Text_Field_Widget_Class_Method_GET_MAX_LENGTH}, /*  */
  1314.   {NULL, S, Xm_Text_Field_Widget_Class_Method_SET_MAX_LENGTH}, /*  */
  1315.   {NULL, S, Xm_Text_Field_Widget_Class_Method_GET_SELECTION}, /*  */
  1316.   {NULL, S, Xm_Text_Field_Widget_Class_Method_SET_SELECTION}, /*  */
  1317.   {NULL, S, Xm_Text_Field_Widget_Class_Method_CLEAR_SELECTION},    /*  */
  1318.   {NULL, S, Xm_Text_Field_Widget_Class_Method_GET_INSERTION_POSITION}, /*  */
  1319.   {NULL, S, Xm_Text_Widget_Class_Method_GET_CURSOR_POSITION}, /*  */
  1320.   {NULL, S, Xm_Text_Field_Widget_Class_Method_GET_CURSOR_POSITION}, /*  */
  1321.   {NULL, S, Xm_Text_Field_Widget_Class_Method_SET_INSERTION_POSITION}, /*  */
  1322.   {NULL, S, Xm_Text_Widget_Class_Method_SET_CURSOR_POSITION}, /*  */
  1323.   {NULL, S, Xm_Text_Field_Widget_Class_Method_SET_CURSOR_POSITION}, /* */
  1324.   {NULL, S, Xm_Text_Field_Widget_Class_Method_GET_SELECTION_POSITION}, /*  */
  1325.   {NULL, S, Xm_Text_Field_Widget_Class_Method_XY_TO_POS}, /*  */
  1326.   {NULL, S, Xm_Text_Field_Widget_Class_Method_POS_TO_XY}, /*  */
  1327.   {NULL, S, Xm_Text_Field_Widget_Class_Method_SHOW_POSITION}, /*  */
  1328.   {NULL, S, Xm_Text_Widget_Class_Method_SET_HIGHLIGHT},    /*  */
  1329.   {NULL, S, Xm_Text_Field_Widget_Class_Method_SET_HIGHLIGHT}, /* */
  1330.   {NULL, S, Xm_Text_Widget_Class_Method_INSERT}, /*  */
  1331.   {NULL, S, Xm_Text_Field_Widget_Class_Method_INSERT}, /*  */
  1332.   {NULL, S, Xm_Text_Widget_Class_Method_SET_ADD_MODE}, /*  */
  1333.   {NULL, S, Xm_Text_Field_Widget_Class_Method_SET_ADD_MODE}, /* */
  1334.   {NULL, S, Xm_Text_Widget_Class_Method_GET_ADD_MODE}, /*  */
  1335.   {NULL, S, Xm_Text_Field_Widget_Class_Method_GET_ADD_MODE}, /* */
  1336.   {NULL, S, Xm_Text_Widget_Class_Method_REMOVE}, /*  */
  1337.   {NULL, S, Xm_Text_Field_Widget_Class_Method_REMOVE}, /*  */
  1338.   {NULL, S, Xm_Text_Widget_Class_Method_COPY}, /*  */
  1339.   {NULL, S, Xm_Text_Field_Widget_Class_Method_COPY}, /*  */
  1340.   {NULL, S, Xm_Text_Widget_Class_Method_CUT}, /*  */
  1341.   {NULL, S, Xm_Text_Field_Widget_Class_Method_CUT}, /*  */
  1342.   {NULL, S, Xm_Text_Widget_Class_Method_PASTE},    /*  */
  1343.   {NULL, S, Xm_Text_Field_Widget_Class_Method_PASTE}, /*  */
  1344.   {NULL, S, Xm_Text_Widget_Class_Method_GET_BASELINE}, /*  */
  1345.   {NULL, S, Xm_Text_Field_Widget_Class_Method_GET_BASELINE}, /* */
  1346.   {NULL, S, Xm_File_Selection_Box_Widget_Class_Method_GET_DIR_LIST_ITEMS}, /*  */
  1347.   {NULL, S, Xm_File_Selection_Box_Widget_Class_Method_GET_FILE_LIST_ITEMS}, /*  */
  1348.   {NULL, S, Xm_List_Widget_Class_Method_PARENT}, /*  */
  1349.   {NULL, S, Xm_Text_Widget_Class_Method_PARENT}, /*  */
  1350.   {NULL, S, Widget_Class_Method_NAME}, /*  */
  1351.   {NULL, S, Xm_Row_Column_Widget_Class_Method_GET_SUB_MENU_WIDGET}, /*  */
  1352.   {NULL, S, Widget_Class_Method_GET_CHILDREN}, /* */
  1353.   {NULL, S, Widget_Class_Method_CALL_ACTION_PROC}, /* */
  1354.   {"XT_RESOLVE_PATHNAME", S, Wxt_Prim_XT_RESOLVE_PATHNAME}, /*  */
  1355.   {"XM_SET_FONT_UNITS", S, Wxm_Prim_XM_SET_FONT_UNITS},    /*  */
  1356.   {"XM_STRING_HAS_SUBSTRING", S, Wxms_Prim_XM_STRING_HAS_SUBSTRING}, /*  */
  1357.   {"XM_TRACKING_LOCATE", S, Wxm_Prim_XM_TRACKING_LOCATE}, /*  */
  1358.   {"XM_CONVERT_UNITS", S, Wxm_Prim_XM_CONVERT_UNITS}, /*  */
  1359.   {"XM_CVT_CT_TO_XM_STRING", S, Wxms_Prim_XM_CVT_CT_TO_XM_STRING}, /*  */
  1360.   {"XM_CVT_XM_STRING_TO_CT", S, Wxms_Prim_XM_CVT_XM_STRING_TO_CT}, /*  */
  1361.   {NULL, S, Widget_Class_Method_PROCESS_TRAVERSAL}, /*  */
  1362.   /*
  1363.    | {NULL, S, },   -* xxx *-
  1364.    */
  1365.   /* Constant needed by Wfu_Funtab_Sanity_Check() */
  1366. #undef INDEX_OF_LAST_FUNTAB_ENTRY_USED_BY_libWinterp
  1367. #define INDEX_OF_LAST_FUNTAB_ENTRY_USED_BY_libWinterp 553
  1368. #endif                /* WINTERP_MOTIF_11 */
  1369.  
  1370. #ifndef WINTERP_MOTIF_11    /* HP_GRAPH_WIDGET doesn't work with 1.1 */
  1371. #ifdef HP_GRAPH_WIDGET        /* if HP_GRAPH_WIDGET defined */
  1372.   {NULL, S, Xm_Graph_Widget_Class_Method_ISNEW}, /*  */
  1373.   {NULL, S, Xm_Arc_Widget_Class_Method_ISNEW}, /*  */
  1374.   {NULL, S, Xm_Graph_Widget_Class_Method_ADD_CALLBACK},    /*  */
  1375.   {NULL, S, Xm_Graph_Widget_Class_Method_SET_CALLBACK},    /*  */
  1376.   {NULL, S, Xm_Graph_Widget_Class_Method_CENTER_AROUND_WIDGET},    /*  */
  1377.   {NULL, S, Xm_Graph_Widget_Class_Method_DESTROY_ALL_ARCS}, /*  */
  1378.   {NULL, S, Xm_Graph_Widget_Class_Method_DESTROY_ALL_NODES}, /*  */
  1379.   {NULL, S, Xm_Graph_Widget_Class_Method_DESTROY_SELECTED_ARCS_OR_NODES}, /*  */
  1380.   {NULL, S, Xm_Graph_Widget_Class_Method_GET_ARCS}, /*  */
  1381.   {NULL, S, Xm_Graph_Widget_Class_Method_GET_NODES}, /*  */
  1382.   {NULL, S, Xm_Graph_Widget_Class_Method_GET_ARCS_BETWEEN_NODES}, /*  */
  1383.   {NULL, S, Xm_Graph_Widget_Class_Method_GET_NODE_ARCS}, /*  */
  1384.   {NULL, S, Xm_Graph_Widget_Class_Method_GET_ROOTS}, /*  */
  1385.   {NULL, S, Xm_Graph_Widget_Class_Method_GET_SELECTED_ARCS}, /*  */
  1386.   {NULL, S, Xm_Graph_Widget_Class_Method_GET_SELECTED_NODES}, /*  */
  1387.   {NULL, S, Xm_Graph_Widget_Class_Method_INPUT_OVER_ARC}, /*  */
  1388.   {NULL, S, Xm_Graph_Widget_Class_Method_INSERT_ROOTS},    /*  */
  1389.   {NULL, S, Xm_Graph_Widget_Class_Method_IS_POINT_IN_ARC}, /*  */
  1390.   {NULL, S, Xm_Graph_Widget_Class_Method_IS_SELECTED_ARC}, /*  */
  1391.   {NULL, S, Xm_Graph_Widget_Class_Method_IS_SELECTED_NODE}, /*  */
  1392.   {NULL, S, Xm_Graph_Widget_Class_Method_MOVE_ARC}, /*  */
  1393.   {NULL, S, Xm_Graph_Widget_Class_Method_MOVE_NODE}, /*  */
  1394.   {NULL, S, Xm_Graph_Widget_Class_Method_NUM_ARCS}, /*  */
  1395.   {NULL, S, Xm_Graph_Widget_Class_Method_NUM_NODES}, /*  */
  1396.   {NULL, S, Xm_Graph_Widget_Class_Method_NUM_NODE_ARCS}, /*  */
  1397.   {NULL, S, Xm_Graph_Widget_Class_Method_NUM_ROOTS}, /*  */
  1398.   {NULL, S, Xm_Graph_Widget_Class_Method_NUM_SELECTED_ARCS}, /*  */
  1399.   {NULL, S, Xm_Graph_Widget_Class_Method_NUM_SELECTED_NODES}, /*  */
  1400.   {NULL, S, Xm_Graph_Widget_Class_Method_MOVE_ALL}, /*  */
  1401.   {NULL, S, Xm_Graph_Widget_Class_Method_LAYOUT}, /*  */
  1402.   {NULL, S, Xm_Graph_Widget_Class_Method_RELAY_SUBGRAPH}, /*  */
  1403.   {NULL, S, Xm_Graph_Widget_Class_Method_REMOVE_ARC_BETWEEN_NODES}, /*  */
  1404.   {NULL, S, Xm_Graph_Widget_Class_Method_REMOVE_ROOTS},    /*  */
  1405.   {NULL, S, Xm_Graph_Widget_Class_Method_SELECT_ARC}, /*  */
  1406.   {NULL, S, Xm_Graph_Widget_Class_Method_SELECT_ARCS}, /*  */
  1407.   {NULL, S, Xm_Graph_Widget_Class_Method_SELECT_NODE}, /*  */
  1408.   {NULL, S, Xm_Graph_Widget_Class_Method_SELECT_NODES},    /*  */
  1409.   {NULL, S, Xm_Graph_Widget_Class_Method_UNSELECT_ARC},    /*  */
  1410.   {NULL, S, Xm_Graph_Widget_Class_Method_UNSELECT_ARCS}, /*  */
  1411.   {NULL, S, Xm_Graph_Widget_Class_Method_UNSELECT_NODE}, /*  */
  1412.   {NULL, S, Xm_Graph_Widget_Class_Method_UNSELECT_NODES}, /*  */
  1413.  
  1414.   /* Constant needed by Wfu_Funtab_Sanity_Check() */
  1415. #undef INDEX_OF_LAST_FUNTAB_ENTRY_USED_BY_libWinterp
  1416. #define INDEX_OF_LAST_FUNTAB_ENTRY_USED_BY_libWinterp 521
  1417. #endif                /* HP_GRAPH_WIDGET */
  1418. #endif                /* notdef(WINTERP_MOTIF_11) */
  1419.  
  1420. #ifdef hpux            /* I'm too lazy to make this portable */
  1421.   {"X_REFRESH_DISPLAY",        S, Wut_Prim_X_REFRESH_DISPLAY},    /* */
  1422. #endif
  1423.  
  1424.   /*
  1425.    * applications built on winterp may add new function table entries via
  1426.    * this include file. The indexes of entries in this file must correspond
  1427.    * to the indexes computed by c in app_fundecl.h
  1428.    */
  1429. #include "app_fundecl.h"
  1430.  
  1431.   {0,0,0}            /* end of table marker */
  1432.  
  1433. };
  1434.  
  1435. /* xnotimp - function table entries that are currently not implemented */
  1436. LOCAL LVAL xnotimp()
  1437. {
  1438.     xlfail("function not implemented");
  1439. }
  1440.  
  1441. /*******************************************************************************
  1442.  * A sanity check called from main() which ensures that the number of indexes to
  1443.  * function table entries (in w_funtab.h) corresnpond to the actual number of
  1444.  * entries in funtab[] in this file.
  1445.  *
  1446.  * LAST_FUNTAB_POINTER_USED_BY_libWinterp is declared in w_funtab.h, and
  1447.  * INDEX_OF_LAST_FUNTAB_ENTRY_USED_BY_libWinterp is declared above.
  1448.  *******************************************************************************/
  1449. void Wfu_Funtab_Sanity_Check()
  1450. {
  1451.   extern char* app_name;    /* winterp.c */
  1452.  
  1453.   if (LAST_FUNTAB_POINTER_USED_BY_libWinterp != INDEX_OF_LAST_FUNTAB_ENTRY_USED_BY_libWinterp) {
  1454.     (void) fprintf(stderr,"%s: Fatal error: w_funtab.c out of sync with w_funtab.h\n\tLAST_FUNTAB_POINTER_USED_BY_libWinterp=%d\n\tINDEX_OF_LAST_FUNTAB_ENTRY_USED_BY_libWinterp=%d\n\t -- correct errors in those files and recompile!\n",
  1455.            app_name,
  1456.            LAST_FUNTAB_POINTER_USED_BY_libWinterp,
  1457.            INDEX_OF_LAST_FUNTAB_ENTRY_USED_BY_libWinterp);
  1458.     exit(1);
  1459.   }
  1460. }
  1461.